OSDN Git Service

Correct mistyped __MINGW_NOTHROW macro.
[mingw/mingw-org-wsl.git] / include / dsclient.h
1 /**
2  * @file dsclient.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
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:
11  * 
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
14  * Software.
15  * 
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.
23  */
24 #ifndef _DSCLIENT_H
25 #define _DSCLIENT_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
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 {
43         LPWSTR pszName;
44         LPWSTR pszPath;
45         LPWSTR pszNCName;
46         LPWSTR pszTrustParent;
47         LPWSTR pszObjectClass;
48         ULONG ulFlags;
49         BOOL fDownLevel;
50         struct _DOMAINDESC* pdChildList;
51         struct _DOMAINDESC* pdNextSibling;
52 } DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
53 typedef struct {
54         DWORD dsSize;
55         DWORD dwCount;
56         DOMAINDESC aDomains[1];
57 } DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
58 #define DSB_MAX_DISPLAYNAME_CHARS 64
59 typedef struct {
60         DWORD cbStruct;
61         LPCWSTR pszADsPath;
62         LPCWSTR pszClass;
63         DWORD dwMask;
64         DWORD dwState;
65         DWORD dwStateMask;
66         CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
67         CHAR szIconLocation[MAX_PATH];
68         INT iIconResID;
69 } DSBITEMA,*PDSBITEMA;
70 typedef struct {
71         DWORD cbStruct;
72         LPCWSTR pszADsPath;
73         LPCWSTR pszClass;
74         DWORD dwMask;
75         DWORD dwState;
76         DWORD dwStateMask;
77         CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
78         CHAR szIconLocation[MAX_PATH];
79         INT iIconResID;
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
87 typedef struct {
88         DWORD cbStruct;
89         HWND hwndOwner;
90         LPCSTR pszCaption;
91         LPCSTR pszTitle;
92         LPCWSTR pszRoot;
93         LPWSTR pszPath;
94         ULONG cchPath;
95         DWORD dwFlags;
96         BFFCALLBACK pfnCallback;
97         LPARAM lParam;
98         DWORD dwReturnFormat;
99         LPCWSTR pUserName;
100         LPCWSTR pPassword;
101         LPWSTR pszObjectClass;
102         ULONG cchObjectClass;
103 } DSBROWSEINFOA,*PDSBROWSEINFOA;
104 typedef struct {
105         DWORD cbStruct;
106         HWND hwndOwner;
107         LPCWSTR pszCaption;
108         LPCWSTR pszTitle;
109         LPCWSTR pszRoot;
110         LPWSTR pszPath;
111         ULONG cchPath;
112         DWORD dwFlags;
113         BFFCALLBACK pfnCallback;
114         LPARAM lParam;
115         DWORD dwReturnFormat;
116         LPCWSTR pUserName;
117         LPCWSTR pPassword;
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
135 typedef struct {
136         DWORD dwFlags;
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 {
145         DWORD dwSize;
146         DWORD dwFlags;
147         DWORD offsetAttribPrefix;
148         DWORD offsetUserName;
149         DWORD offsetPassword;
150         DWORD offsetServer;
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
157 typedef struct {
158         DWORD dwFlags;
159         DWORD dwProviderFlags;
160         DWORD offsetName;
161         DWORD offsetClass;
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
170 typedef struct {
171         CLSID clsidNamespace;
172         UINT cItems;
173         DSOBJECT aObjects[1];
174 } DSOBJECTNAMES,*LPDSOBJECTNAMES;
175 typedef struct {
176         DWORD offsetString;
177 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
178 typedef __AW(DSBITEM) DSBITEM,*PDSBITEM;
179 typedef __AW(DSBROWSEINFO) DSBROWSEINFO,*PDSBROWSEINFO;
180 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
181
182 #ifdef __cplusplus
183 }
184 #endif
185 #endif