2 * dsclient.h - Active Directory
4 * THIS SOFTWARE IS NOT COPYRIGHTED
6 * This source code is offered for use in the public domain. You may use,
7 * modify or distribute it freely.
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.
18 #pragma GCC system_header
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
33 #define DSBM_QUERYINSERT DSBM_QUERYINSERTW
35 #define DSBM_QUERYINSERT DSBM_QUERYINSERTA
37 /*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
38 typedef struct _DOMAINDESC {
42 LPWSTR pszTrustParent;
43 LPWSTR pszObjectClass;
46 struct _DOMAINDESC* pdChildList;
47 struct _DOMAINDESC* pdNextSibling;
48 } DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
52 DOMAINDESC aDomains[1];
53 } DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
54 #define DSB_MAX_DISPLAYNAME_CHARS 64
62 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
63 CHAR szIconLocation[MAX_PATH];
65 } DSBITEMA,*PDSBITEMA;
73 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
74 CHAR szIconLocation[MAX_PATH];
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
92 BFFCALLBACK pfnCallback;
97 LPWSTR pszObjectClass;
99 } DSBROWSEINFOA,*PDSBROWSEINFOA;
109 BFFCALLBACK pfnCallback;
111 DWORD dwReturnFormat;
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
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 {
143 DWORD offsetAttribPrefix;
144 DWORD offsetUserName;
145 DWORD offsetPassword;
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
155 DWORD dwProviderFlags;
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
167 CLSID clsidNamespace;
169 DSOBJECT aObjects[1];
170 } DSOBJECTNAMES,*LPDSOBJECTNAMES;
173 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
175 typedef DSBITEMW DSBITEM,*PDSBITEM;
176 typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
178 typedef DSBITEMA DSBITEM,*PDSBITEM;
179 typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
181 #endif /* (_WIN32_WINNT >= 0x0500) */