xref: /reactos/sdk/include/psdk/lmjoin.h (revision 682f85ad)
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