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) */