1 #ifndef _LMJOIN_H 2 #define _LMJOIN_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 typedef enum _NETSETUP_JOIN_STATUS 9 { 10 NetSetupUnknownStatus = 0, 11 NetSetupUnjoined, 12 NetSetupWorkgroupName, 13 NetSetupDomainName 14 } NETSETUP_JOIN_STATUS, *PNETSETUP_JOIN_STATUS; 15 16 #define NETSETUP_JOIN_DOMAIN 0x00000001 17 #define NETSETUP_ACCT_CREATE 0x00000002 18 #define NETSETUP_ACCT_DELETE 0x00000004 19 #define NETSETUP_WIN9X_UPGRADE 0x00000010 20 #define NETSETUP_DOMAIN_JOIN_IF_JOINED 0x00000020 21 #define NETSETUP_JOIN_UNSECURE 0x00000040 22 #define NETSETUP_MACHINE_PWD_PASSED 0x00000080 23 #define NETSETUP_DEFER_SPN_SET 0x00000100 24 #define NETSETUP_JOIN_DC_ACCOUNT 0x00000200 25 #define NETSETUP_JOIN_WITH_NEW_NAME 0x00000400 26 #define NETSETUP_INSTALL_INVOCATION 0x00040000 27 #define NETSETUP_IGNORE_UNSUPPORTED_FLAGS 0x10000000 28 29 #define NETSETUP_VALID_UNJOIN_FLAGS (NETSETUP_ACCT_DELETE | \ 30 NETSETUP_JOIN_DC_ACCOUNT | \ 31 NETSETUP_IGNORE_UNSUPPORTED_FLAGS) 32 33 NET_API_STATUS 34 NET_API_FUNCTION 35 NetJoinDomain( 36 _In_opt_ LPCWSTR lpServer, 37 _In_ LPCWSTR lpDomain, 38 _In_opt_ LPCWSTR lpAccountOU, 39 _In_opt_ LPCWSTR lpAccount, 40 _In_opt_ LPCWSTR lpPassword, 41 _In_ DWORD fJoinOptions); 42 43 NET_API_STATUS 44 NET_API_FUNCTION 45 NetUnjoinDomain( 46 _In_opt_ LPCWSTR lpServer, 47 _In_opt_ LPCWSTR lpAccount, 48 _In_opt_ LPCWSTR lpPassword, 49 _In_ DWORD fUnjoinOptions); 50 51 NET_API_STATUS 52 NET_API_FUNCTION 53 NetGetJoinInformation( 54 _In_opt_ LPCWSTR lpServer, 55 _Out_opt_ LPWSTR *lpNameBuffer, 56 _Out_ PNETSETUP_JOIN_STATUS BufferType); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif 63