source: Daodan/MinGW/include/dsclient.h@ 1094

Last change on this file since 1094 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 4.9 KB
Line 
1/*
2 * dsclient.h - Active Directory
3 *
4 * THIS SOFTWARE IS NOT COPYRIGHTED
5 *
6 * This source code is offered for use in the public domain. You may use,
7 * modify or distribute it freely.
8 *
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.
13 *
14 */
15#ifndef _DSCLIENT_H
16#define _DSCLIENT_H
17#if __GNUC__ >= 3
18#pragma GCC system_header
19#endif
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
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 */
38typedef 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;
49typedef 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
55typedef 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;
66typedef 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
83typedef 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;
100typedef 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
131typedef 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
140typedef 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
153typedef 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
166typedef struct {
167 CLSID clsidNamespace;
168 UINT cItems;
169 DSOBJECT aObjects[1];
170} DSOBJECTNAMES,*LPDSOBJECTNAMES;
171typedef struct {
172 DWORD offsetString;
173} DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
174#ifdef UNICODE
175typedef DSBITEMW DSBITEM,*PDSBITEM;
176typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
177#else
178typedef DSBITEMA DSBITEM,*PDSBITEM;
179typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
180#endif
181#endif /* (_WIN32_WINNT >= 0x0500) */
182
183#ifdef __cplusplus
184}
185#endif
186#endif
Note: See TracBrowser for help on using the repository browser.