This repository has been archived on 2024-06-02. You can view files and clone it, but cannot push or open issues or pull requests.
wlb/tcc/include/winapi/dsclient.h

187 lines
4.9 KiB
C
Raw Normal View History

/*
* 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