3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
32 #if (_WIN32_WINNT >= 0x0500)
33 /*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */
34 #define DSBM_QUERYINSERTW 0x0064
35 #define DSBM_QUERYINSERTA 0x0065
36 #define DSBM_CHANGEIMAGESTATE 0x0066
37 #define DSBM_HELP 0x0067
38 #define DSBM_CONTEXTMENU 0x0068
40 #define DSBM_QUERYINSERT DSBM_QUERYINSERTW
42 #define DSBM_QUERYINSERT DSBM_QUERYINSERTA
44 /*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
45 typedef struct _DOMAINDESC {
49 LPWSTR pszTrustParent;
50 LPWSTR pszObjectClass;
53 struct _DOMAINDESC* pdChildList;
54 struct _DOMAINDESC* pdNextSibling;
55 } DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
59 DOMAINDESC aDomains[1];
60 } DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
61 #define DSB_MAX_DISPLAYNAME_CHARS 64
69 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
70 CHAR szIconLocation[MAX_PATH];
72 } DSBITEMA,*PDSBITEMA;
80 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
81 CHAR szIconLocation[MAX_PATH];
83 } DSBITEMW,*PDSBITEMW;
84 #define DSBF_STATE 0x00000001
85 #define DSBF_ICONLOCATION 0x00000002
86 #define DSBF_DISPLAYNAME 0x00000004
87 #define DSBS_CHECKED 0x00000001
88 #define DSBS_HIDDEN 0x00000002
89 #define DSBS_ROOT 0x00000004
99 BFFCALLBACK pfnCallback;
101 DWORD dwReturnFormat;
104 LPWSTR pszObjectClass;
105 ULONG cchObjectClass;
106 } DSBROWSEINFOA,*PDSBROWSEINFOA;
116 BFFCALLBACK pfnCallback;
118 DWORD dwReturnFormat;
121 LPWSTR pszObjectClass;
122 ULONG cchObjectClass;
123 } DSBROWSEINFOW,*PDSBROWSEINFOW;
124 #define DSBI_NOBUTTONS 0x00000001
125 #define DSBI_NOLINES 0x00000002
126 #define DSBI_NOLINESATROOT 0x00000004
127 #define DSBI_CHECKBOXES 0x00000100
128 #define DSBI_NOROOT 0x00010000
129 #define DSBI_INCLUDEHIDDEN 0x00020000
130 #define DSBI_EXPANDONOPEN 0x00040000
131 #define DSBI_ENTIREDIRECTORY 0x00090000
132 #define DSBI_RETURN_FORMAT 0x00100000
133 #define DSBI_HASCREDENTIALS 0x00200000
134 #define DSBI_IGNORETREATASLEAF 0x00400000
135 #define DSBI_SIMPLEAUTHENTICATE 0x00800000
136 #define DSBI_RETURNOBJECTCLASS 0x01000000
137 #define DSBI_DONTSIGNSEAL 0x02000000
140 CLSID clsidWizardDialog;
141 CLSID clsidWizardPrimaryPage;
142 DWORD cWizardExtensions;
143 CLSID aWizardExtensions[1];
144 } DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO;
145 #define DSCCIF_HASWIZARDDIALOG 0x00000001
146 #define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002
147 typedef struct _DSDISPLAYSPECOPTIONS {
150 DWORD offsetAttribPrefix;
151 DWORD offsetUserName;
152 DWORD offsetPassword;
154 DWORD offsetServerConfigPath;
155 } DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS;
156 #define DSDSOF_HASUSERANDSERVERINFO 0x00000001
157 #define DSDSOF_SIMPLEAUTHENTICATE 0x00000002
158 #define DSDSOF_DONTSIGNSEAL 0x00000004
159 #define DSDSOF_DSAVAILABLE 0x40000000
162 DWORD dwProviderFlags;
165 } DSOBJECT,*LPDSOBJECT;
166 #define DSOBJECT_ISCONTAINER 0x00000001
167 #define DSOBJECT_READONLYPAGES 0x80000000
168 #define DSPROVIDER_UNUSED_0 0x00000001
169 #define DSPROVIDER_UNUSED_1 0x00000002
170 #define DSPROVIDER_UNUSED_2 0x00000004
171 #define DSPROVIDER_UNUSED_3 0x00000008
172 #define DSPROVIDER_ADVANCED 0x00000010
174 CLSID clsidNamespace;
176 DSOBJECT aObjects[1];
177 } DSOBJECTNAMES,*LPDSOBJECTNAMES;
180 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
182 typedef DSBITEMW DSBITEM,*PDSBITEM;
183 typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
185 typedef DSBITEMA DSBITEM,*PDSBITEM;
186 typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
188 #endif /* (_WIN32_WINNT >= 0x0500) */