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