187 lines
4.9 KiB
C
187 lines
4.9 KiB
C
/*
|
|
* 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
|