|
1 /* |
|
2 * dsclient.h - Active Directory |
|
3 * |
|
4 * THIS SOFTWARE IS NOT COPYRIGHTED |
|
5 * |
|
6 * This source code is offered for use in the public domain. You may use, |
|
7 * modify or distribute it freely. |
|
8 * |
|
9 * This code is distributed in the hope that it will be useful but |
|
10 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY |
|
11 * DISCLAIMED. This includes but is not limited to warranties of |
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
13 * |
|
14 */ |
|
15 #ifndef _DSCLIENT_H |
|
16 #define _DSCLIENT_H |
|
17 #if __GNUC__ >= 3 |
|
18 #pragma GCC system_header |
|
19 #endif |
|
20 |
|
21 #ifdef __cplusplus |
|
22 extern "C" { |
|
23 #endif |
|
24 |
|
25 #if (_WIN32_WINNT >= 0x0500) |
|
26 /*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */ |
|
27 #define DSBM_QUERYINSERTW 0x0064 |
|
28 #define DSBM_QUERYINSERTA 0x0065 |
|
29 #define DSBM_CHANGEIMAGESTATE 0x0066 |
|
30 #define DSBM_HELP 0x0067 |
|
31 #define DSBM_CONTEXTMENU 0x0068 |
|
32 #ifdef UNICODE |
|
33 #define DSBM_QUERYINSERT DSBM_QUERYINSERTW |
|
34 #else |
|
35 #define DSBM_QUERYINSERT DSBM_QUERYINSERTA |
|
36 #endif |
|
37 /*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */ |
|
38 typedef struct _DOMAINDESC { |
|
39 LPWSTR pszName; |
|
40 LPWSTR pszPath; |
|
41 LPWSTR pszNCName; |
|
42 LPWSTR pszTrustParent; |
|
43 LPWSTR pszObjectClass; |
|
44 ULONG ulFlags; |
|
45 BOOL fDownLevel; |
|
46 struct _DOMAINDESC* pdChildList; |
|
47 struct _DOMAINDESC* pdNextSibling; |
|
48 } DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC; |
|
49 typedef struct { |
|
50 DWORD dsSize; |
|
51 DWORD dwCount; |
|
52 DOMAINDESC aDomains[1]; |
|
53 } DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE; |
|
54 #define DSB_MAX_DISPLAYNAME_CHARS 64 |
|
55 typedef struct { |
|
56 DWORD cbStruct; |
|
57 LPCWSTR pszADsPath; |
|
58 LPCWSTR pszClass; |
|
59 DWORD dwMask; |
|
60 DWORD dwState; |
|
61 DWORD dwStateMask; |
|
62 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS]; |
|
63 CHAR szIconLocation[MAX_PATH]; |
|
64 INT iIconResID; |
|
65 } DSBITEMA,*PDSBITEMA; |
|
66 typedef struct { |
|
67 DWORD cbStruct; |
|
68 LPCWSTR pszADsPath; |
|
69 LPCWSTR pszClass; |
|
70 DWORD dwMask; |
|
71 DWORD dwState; |
|
72 DWORD dwStateMask; |
|
73 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS]; |
|
74 CHAR szIconLocation[MAX_PATH]; |
|
75 INT iIconResID; |
|
76 } DSBITEMW,*PDSBITEMW; |
|
77 #define DSBF_STATE 0x00000001 |
|
78 #define DSBF_ICONLOCATION 0x00000002 |
|
79 #define DSBF_DISPLAYNAME 0x00000004 |
|
80 #define DSBS_CHECKED 0x00000001 |
|
81 #define DSBS_HIDDEN 0x00000002 |
|
82 #define DSBS_ROOT 0x00000004 |
|
83 typedef struct { |
|
84 DWORD cbStruct; |
|
85 HWND hwndOwner; |
|
86 LPCSTR pszCaption; |
|
87 LPCSTR pszTitle; |
|
88 LPCWSTR pszRoot; |
|
89 LPWSTR pszPath; |
|
90 ULONG cchPath; |
|
91 DWORD dwFlags; |
|
92 BFFCALLBACK pfnCallback; |
|
93 LPARAM lParam; |
|
94 DWORD dwReturnFormat; |
|
95 LPCWSTR pUserName; |
|
96 LPCWSTR pPassword; |
|
97 LPWSTR pszObjectClass; |
|
98 ULONG cchObjectClass; |
|
99 } DSBROWSEINFOA,*PDSBROWSEINFOA; |
|
100 typedef struct { |
|
101 DWORD cbStruct; |
|
102 HWND hwndOwner; |
|
103 LPCWSTR pszCaption; |
|
104 LPCWSTR pszTitle; |
|
105 LPCWSTR pszRoot; |
|
106 LPWSTR pszPath; |
|
107 ULONG cchPath; |
|
108 DWORD dwFlags; |
|
109 BFFCALLBACK pfnCallback; |
|
110 LPARAM lParam; |
|
111 DWORD dwReturnFormat; |
|
112 LPCWSTR pUserName; |
|
113 LPCWSTR pPassword; |
|
114 LPWSTR pszObjectClass; |
|
115 ULONG cchObjectClass; |
|
116 } DSBROWSEINFOW,*PDSBROWSEINFOW; |
|
117 #define DSBI_NOBUTTONS 0x00000001 |
|
118 #define DSBI_NOLINES 0x00000002 |
|
119 #define DSBI_NOLINESATROOT 0x00000004 |
|
120 #define DSBI_CHECKBOXES 0x00000100 |
|
121 #define DSBI_NOROOT 0x00010000 |
|
122 #define DSBI_INCLUDEHIDDEN 0x00020000 |
|
123 #define DSBI_EXPANDONOPEN 0x00040000 |
|
124 #define DSBI_ENTIREDIRECTORY 0x00090000 |
|
125 #define DSBI_RETURN_FORMAT 0x00100000 |
|
126 #define DSBI_HASCREDENTIALS 0x00200000 |
|
127 #define DSBI_IGNORETREATASLEAF 0x00400000 |
|
128 #define DSBI_SIMPLEAUTHENTICATE 0x00800000 |
|
129 #define DSBI_RETURNOBJECTCLASS 0x01000000 |
|
130 #define DSBI_DONTSIGNSEAL 0x02000000 |
|
131 typedef struct { |
|
132 DWORD dwFlags; |
|
133 CLSID clsidWizardDialog; |
|
134 CLSID clsidWizardPrimaryPage; |
|
135 DWORD cWizardExtensions; |
|
136 CLSID aWizardExtensions[1]; |
|
137 } DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO; |
|
138 #define DSCCIF_HASWIZARDDIALOG 0x00000001 |
|
139 #define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002 |
|
140 typedef struct _DSDISPLAYSPECOPTIONS { |
|
141 DWORD dwSize; |
|
142 DWORD dwFlags; |
|
143 DWORD offsetAttribPrefix; |
|
144 DWORD offsetUserName; |
|
145 DWORD offsetPassword; |
|
146 DWORD offsetServer; |
|
147 DWORD offsetServerConfigPath; |
|
148 } DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS; |
|
149 #define DSDSOF_HASUSERANDSERVERINFO 0x00000001 |
|
150 #define DSDSOF_SIMPLEAUTHENTICATE 0x00000002 |
|
151 #define DSDSOF_DONTSIGNSEAL 0x00000004 |
|
152 #define DSDSOF_DSAVAILABLE 0x40000000 |
|
153 typedef struct { |
|
154 DWORD dwFlags; |
|
155 DWORD dwProviderFlags; |
|
156 DWORD offsetName; |
|
157 DWORD offsetClass; |
|
158 } DSOBJECT,*LPDSOBJECT; |
|
159 #define DSOBJECT_ISCONTAINER 0x00000001 |
|
160 #define DSOBJECT_READONLYPAGES 0x80000000 |
|
161 #define DSPROVIDER_UNUSED_0 0x00000001 |
|
162 #define DSPROVIDER_UNUSED_1 0x00000002 |
|
163 #define DSPROVIDER_UNUSED_2 0x00000004 |
|
164 #define DSPROVIDER_UNUSED_3 0x00000008 |
|
165 #define DSPROVIDER_ADVANCED 0x00000010 |
|
166 typedef struct { |
|
167 CLSID clsidNamespace; |
|
168 UINT cItems; |
|
169 DSOBJECT aObjects[1]; |
|
170 } DSOBJECTNAMES,*LPDSOBJECTNAMES; |
|
171 typedef struct { |
|
172 DWORD offsetString; |
|
173 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO; |
|
174 #ifdef UNICODE |
|
175 typedef DSBITEMW DSBITEM,*PDSBITEM; |
|
176 typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO; |
|
177 #else |
|
178 typedef DSBITEMA DSBITEM,*PDSBITEM; |
|
179 typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO; |
|
180 #endif |
|
181 #endif /* (_WIN32_WINNT >= 0x0500) */ |
|
182 |
|
183 #ifdef __cplusplus |
|
184 } |
|
185 #endif |
|
186 #endif |