Install w32api-3.13-mingw32-dev.tar.gz
[git/jnareb-git.git] / mingw / include / dsclient.h
blob341ca99ac22dc155cb0d81d61f0193daab6ae63c
1 /*
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.
15 #ifndef _DSCLIENT_H
16 #define _DSCLIENT_H
17 #if __GNUC__ >= 3
18 #pragma GCC system_header
19 #endif
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
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
32 #ifdef UNICODE
33 #define DSBM_QUERYINSERT DSBM_QUERYINSERTW
34 #else
35 #define DSBM_QUERYINSERT DSBM_QUERYINSERTA
36 #endif
37 /*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
38 typedef struct _DOMAINDESC {
39 LPWSTR pszName;
40 LPWSTR pszPath;
41 LPWSTR pszNCName;
42 LPWSTR pszTrustParent;
43 LPWSTR pszObjectClass;
44 ULONG ulFlags;
45 BOOL fDownLevel;
46 struct _DOMAINDESC* pdChildList;
47 struct _DOMAINDESC* pdNextSibling;
48 } DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
49 typedef struct {
50 DWORD dsSize;
51 DWORD dwCount;
52 DOMAINDESC aDomains[1];
53 } DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
54 #define DSB_MAX_DISPLAYNAME_CHARS 64
55 typedef struct {
56 DWORD cbStruct;
57 LPCWSTR pszADsPath;
58 LPCWSTR pszClass;
59 DWORD dwMask;
60 DWORD dwState;
61 DWORD dwStateMask;
62 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
63 CHAR szIconLocation[MAX_PATH];
64 INT iIconResID;
65 } DSBITEMA,*PDSBITEMA;
66 typedef struct {
67 DWORD cbStruct;
68 LPCWSTR pszADsPath;
69 LPCWSTR pszClass;
70 DWORD dwMask;
71 DWORD dwState;
72 DWORD dwStateMask;
73 CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
74 CHAR szIconLocation[MAX_PATH];
75 INT iIconResID;
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
83 typedef struct {
84 DWORD cbStruct;
85 HWND hwndOwner;
86 LPCSTR pszCaption;
87 LPCSTR pszTitle;
88 LPCWSTR pszRoot;
89 LPWSTR pszPath;
90 ULONG cchPath;
91 DWORD dwFlags;
92 BFFCALLBACK pfnCallback;
93 LPARAM lParam;
94 DWORD dwReturnFormat;
95 LPCWSTR pUserName;
96 LPCWSTR pPassword;
97 LPWSTR pszObjectClass;
98 ULONG cchObjectClass;
99 } DSBROWSEINFOA,*PDSBROWSEINFOA;
100 typedef struct {
101 DWORD cbStruct;
102 HWND hwndOwner;
103 LPCWSTR pszCaption;
104 LPCWSTR pszTitle;
105 LPCWSTR pszRoot;
106 LPWSTR pszPath;
107 ULONG cchPath;
108 DWORD dwFlags;
109 BFFCALLBACK pfnCallback;
110 LPARAM lParam;
111 DWORD dwReturnFormat;
112 LPCWSTR pUserName;
113 LPCWSTR pPassword;
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
131 typedef struct {
132 DWORD dwFlags;
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 {
141 DWORD dwSize;
142 DWORD dwFlags;
143 DWORD offsetAttribPrefix;
144 DWORD offsetUserName;
145 DWORD offsetPassword;
146 DWORD offsetServer;
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
153 typedef struct {
154 DWORD dwFlags;
155 DWORD dwProviderFlags;
156 DWORD offsetName;
157 DWORD offsetClass;
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
166 typedef struct {
167 CLSID clsidNamespace;
168 UINT cItems;
169 DSOBJECT aObjects[1];
170 } DSOBJECTNAMES,*LPDSOBJECTNAMES;
171 typedef struct {
172 DWORD offsetString;
173 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
174 #ifdef UNICODE
175 typedef DSBITEMW DSBITEM,*PDSBITEM;
176 typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
177 #else
178 typedef DSBITEMA DSBITEM,*PDSBITEM;
179 typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
180 #endif
181 #endif /* (_WIN32_WINNT >= 0x0500) */
183 #ifdef __cplusplus
185 #endif
186 #endif