3 * Copyright 2012, 2013 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
33 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
34 /*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */
35 #define DSBM_QUERYINSERTW 0x0064
36 #define DSBM_QUERYINSERTA 0x0065
37 #define DSBM_CHANGEIMAGESTATE 0x0066
38 #define DSBM_HELP 0x0067
39 #define DSBM_CONTEXTMENU 0x0068
40 #define DSBM_QUERYINSERT __AW(DSBM_QUERYINSERT)
41 /*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
42 typedef struct _DOMAINDESC {
46 LPWSTR pszTrustParent;
47 LPWSTR pszObjectClass;
50 struct _DOMAINDESC* pdChildList;
51 struct _DOMAINDESC* pdNextSibling;
52 } DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
56 DOMAINDESC aDomains[1];
57 } DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
58 #define DSB_MAX_DISPLAYNAME_CHARS 64
66 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
67 CHAR szIconLocation[MAX_PATH];
69 } DSBITEMA,*PDSBITEMA;
77 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
78 CHAR szIconLocation[MAX_PATH];
80 } DSBITEMW,*PDSBITEMW;
81 #define DSBF_STATE 0x00000001
82 #define DSBF_ICONLOCATION 0x00000002
83 #define DSBF_DISPLAYNAME 0x00000004
84 #define DSBS_CHECKED 0x00000001
85 #define DSBS_HIDDEN 0x00000002
86 #define DSBS_ROOT 0x00000004
96 BFFCALLBACK pfnCallback;
101 LPWSTR pszObjectClass;
102 ULONG cchObjectClass;
103 } DSBROWSEINFOA,*PDSBROWSEINFOA;
113 BFFCALLBACK pfnCallback;
115 DWORD dwReturnFormat;
118 LPWSTR pszObjectClass;
119 ULONG cchObjectClass;
120 } DSBROWSEINFOW,*PDSBROWSEINFOW;
121 #define DSBI_NOBUTTONS 0x00000001
122 #define DSBI_NOLINES 0x00000002
123 #define DSBI_NOLINESATROOT 0x00000004
124 #define DSBI_CHECKBOXES 0x00000100
125 #define DSBI_NOROOT 0x00010000
126 #define DSBI_INCLUDEHIDDEN 0x00020000
127 #define DSBI_EXPANDONOPEN 0x00040000
128 #define DSBI_ENTIREDIRECTORY 0x00090000
129 #define DSBI_RETURN_FORMAT 0x00100000
130 #define DSBI_HASCREDENTIALS 0x00200000
131 #define DSBI_IGNORETREATASLEAF 0x00400000
132 #define DSBI_SIMPLEAUTHENTICATE 0x00800000
133 #define DSBI_RETURNOBJECTCLASS 0x01000000
134 #define DSBI_DONTSIGNSEAL 0x02000000
137 CLSID clsidWizardDialog;
138 CLSID clsidWizardPrimaryPage;
139 DWORD cWizardExtensions;
140 CLSID aWizardExtensions[1];
141 } DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO;
142 #define DSCCIF_HASWIZARDDIALOG 0x00000001
143 #define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002
144 typedef struct _DSDISPLAYSPECOPTIONS {
147 DWORD offsetAttribPrefix;
148 DWORD offsetUserName;
149 DWORD offsetPassword;
151 DWORD offsetServerConfigPath;
152 } DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS;
153 #define DSDSOF_HASUSERANDSERVERINFO 0x00000001
154 #define DSDSOF_SIMPLEAUTHENTICATE 0x00000002
155 #define DSDSOF_DONTSIGNSEAL 0x00000004
156 #define DSDSOF_DSAVAILABLE 0x40000000
159 DWORD dwProviderFlags;
162 } DSOBJECT,*LPDSOBJECT;
163 #define DSOBJECT_ISCONTAINER 0x00000001
164 #define DSOBJECT_READONLYPAGES 0x80000000
165 #define DSPROVIDER_UNUSED_0 0x00000001
166 #define DSPROVIDER_UNUSED_1 0x00000002
167 #define DSPROVIDER_UNUSED_2 0x00000004
168 #define DSPROVIDER_UNUSED_3 0x00000008
169 #define DSPROVIDER_ADVANCED 0x00000010
171 CLSID clsidNamespace;
173 DSOBJECT aObjects[1];
174 } DSOBJECTNAMES,*LPDSOBJECTNAMES;
177 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
178 typedef __AW(DSBITEM) DSBITEM,*PDSBITEM;
179 typedef __AW(DSBROWSEINFO) DSBROWSEINFO,*PDSBROWSEINFO;
180 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */