holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/dsclient.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     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
       
    22 extern "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 */
       
    38 typedef 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;
       
    49 typedef 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
       
    55 typedef 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;
       
    66 typedef 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
       
    83 typedef 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;
       
   100 typedef 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
       
   131 typedef 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
       
   140 typedef 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
       
   153 typedef 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
       
   166 typedef struct {
       
   167 	CLSID clsidNamespace;
       
   168 	UINT cItems;
       
   169 	DSOBJECT aObjects[1];
       
   170 } DSOBJECTNAMES,*LPDSOBJECTNAMES;
       
   171 typedef struct {
       
   172 	DWORD offsetString;
       
   173 } DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
       
   174 #ifdef UNICODE
       
   175 typedef DSBITEMW DSBITEM,*PDSBITEM;
       
   176 typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
       
   177 #else
       
   178 typedef DSBITEMA DSBITEM,*PDSBITEM;
       
   179 typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
       
   180 #endif
       
   181 #endif /* (_WIN32_WINNT >= 0x0500) */
       
   182 
       
   183 #ifdef __cplusplus
       
   184 }
       
   185 #endif
       
   186 #endif