Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dsclient.h « include « w32api « winsup - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 341ca99ac22dc155cb0d81d61f0193daab6ae63c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
/*
 * dsclient.h - Active Directory
 *
 * THIS SOFTWARE IS NOT COPYRIGHTED
 *
 * This source code is offered for use in the public domain.  You may use,
 * modify or distribute it freely.
 *
 * This code is distributed in the hope that it will be useful but
 * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 * DISCLAIMED.  This includes but is not limited to warranties of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 */
#ifndef _DSCLIENT_H
#define _DSCLIENT_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if (_WIN32_WINNT >= 0x0500)
/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */
#define DSBM_QUERYINSERTW 0x0064
#define DSBM_QUERYINSERTA 0x0065
#define DSBM_CHANGEIMAGESTATE 0x0066
#define DSBM_HELP 0x0067
#define DSBM_CONTEXTMENU 0x0068
#ifdef UNICODE
#define DSBM_QUERYINSERT DSBM_QUERYINSERTW
#else
#define DSBM_QUERYINSERT DSBM_QUERYINSERTA
#endif
/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
typedef struct _DOMAINDESC {
	LPWSTR pszName;
	LPWSTR pszPath;
	LPWSTR pszNCName;
	LPWSTR pszTrustParent;
	LPWSTR pszObjectClass;
	ULONG ulFlags;
	BOOL fDownLevel;
	struct _DOMAINDESC* pdChildList;
	struct _DOMAINDESC* pdNextSibling;
} DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
typedef struct {
	DWORD dsSize;
	DWORD dwCount;
	DOMAINDESC aDomains[1];
} DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
#define DSB_MAX_DISPLAYNAME_CHARS 64
typedef struct {
	DWORD cbStruct;
	LPCWSTR pszADsPath;
	LPCWSTR pszClass;
	DWORD dwMask;
	DWORD dwState;
	DWORD dwStateMask;
	CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
	CHAR szIconLocation[MAX_PATH];
	INT iIconResID;
} DSBITEMA,*PDSBITEMA;
typedef struct {
	DWORD cbStruct;
	LPCWSTR pszADsPath;
	LPCWSTR pszClass;
	DWORD dwMask;
	DWORD dwState;
	DWORD dwStateMask;
	CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
	CHAR szIconLocation[MAX_PATH];
	INT iIconResID;
} DSBITEMW,*PDSBITEMW;
#define DSBF_STATE 0x00000001
#define DSBF_ICONLOCATION 0x00000002
#define DSBF_DISPLAYNAME 0x00000004
#define DSBS_CHECKED 0x00000001
#define DSBS_HIDDEN 0x00000002
#define DSBS_ROOT 0x00000004
typedef struct {
	DWORD cbStruct;
	HWND hwndOwner;
	LPCSTR pszCaption;
	LPCSTR pszTitle;
	LPCWSTR pszRoot;
	LPWSTR pszPath;
	ULONG cchPath;
	DWORD dwFlags;
	BFFCALLBACK pfnCallback;
	LPARAM lParam;
	DWORD dwReturnFormat;
	LPCWSTR pUserName;
	LPCWSTR pPassword;
	LPWSTR pszObjectClass;
	ULONG cchObjectClass;
} DSBROWSEINFOA,*PDSBROWSEINFOA;
typedef struct {
	DWORD cbStruct;
	HWND hwndOwner;
	LPCWSTR pszCaption;
	LPCWSTR pszTitle;
	LPCWSTR pszRoot;
	LPWSTR pszPath;
	ULONG cchPath;
	DWORD dwFlags;
	BFFCALLBACK pfnCallback;
	LPARAM lParam;
	DWORD dwReturnFormat;
	LPCWSTR pUserName;
	LPCWSTR pPassword;
	LPWSTR pszObjectClass;
	ULONG cchObjectClass;
} DSBROWSEINFOW,*PDSBROWSEINFOW;
#define DSBI_NOBUTTONS 0x00000001
#define DSBI_NOLINES 0x00000002
#define DSBI_NOLINESATROOT 0x00000004
#define DSBI_CHECKBOXES 0x00000100
#define DSBI_NOROOT 0x00010000
#define DSBI_INCLUDEHIDDEN 0x00020000
#define DSBI_EXPANDONOPEN 0x00040000
#define DSBI_ENTIREDIRECTORY 0x00090000
#define DSBI_RETURN_FORMAT 0x00100000
#define DSBI_HASCREDENTIALS 0x00200000
#define DSBI_IGNORETREATASLEAF 0x00400000
#define DSBI_SIMPLEAUTHENTICATE 0x00800000
#define DSBI_RETURNOBJECTCLASS 0x01000000
#define DSBI_DONTSIGNSEAL 0x02000000
typedef struct {
	DWORD dwFlags;
	CLSID clsidWizardDialog;
	CLSID clsidWizardPrimaryPage;
	DWORD cWizardExtensions;
	CLSID aWizardExtensions[1];
} DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO;
#define DSCCIF_HASWIZARDDIALOG 0x00000001
#define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002
typedef struct _DSDISPLAYSPECOPTIONS {
	DWORD dwSize;
	DWORD dwFlags;
	DWORD offsetAttribPrefix;
	DWORD offsetUserName;
	DWORD offsetPassword;
	DWORD offsetServer;
	DWORD offsetServerConfigPath;
} DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS;
#define DSDSOF_HASUSERANDSERVERINFO 0x00000001
#define DSDSOF_SIMPLEAUTHENTICATE 0x00000002
#define DSDSOF_DONTSIGNSEAL 0x00000004
#define DSDSOF_DSAVAILABLE 0x40000000
typedef struct {
	DWORD dwFlags;
	DWORD dwProviderFlags;
	DWORD offsetName;
	DWORD offsetClass;
} DSOBJECT,*LPDSOBJECT;
#define DSOBJECT_ISCONTAINER 0x00000001
#define DSOBJECT_READONLYPAGES 0x80000000
#define DSPROVIDER_UNUSED_0 0x00000001
#define DSPROVIDER_UNUSED_1 0x00000002
#define DSPROVIDER_UNUSED_2 0x00000004
#define DSPROVIDER_UNUSED_3 0x00000008
#define DSPROVIDER_ADVANCED 0x00000010
typedef struct {
	CLSID clsidNamespace;
	UINT cItems;
	DSOBJECT aObjects[1];
} DSOBJECTNAMES,*LPDSOBJECTNAMES;
typedef struct {
	DWORD offsetString;
} DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
#ifdef UNICODE
typedef DSBITEMW DSBITEM,*PDSBITEM;
typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
#else
typedef DSBITEMA DSBITEM,*PDSBITEM;
typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
#endif
#endif /* (_WIN32_WINNT >= 0x0500) */

#ifdef __cplusplus
}
#endif
#endif