This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/dsclient.h

336 lines
11 KiB
C

/*
* dsclient.h Directory Service client functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
/* Directory Service object flags */
#define DSOBJECT_ISCONTAINER 0x00000001L
#define DSOBJECT_READONLYPAGES 0x80000000L
/* Directory Service provider flags */
#define DSPROVIDER_ADVANCED 0x00000010L
#define DSPROVIDER_AD_LDS 0x00000020L
/* Directory Service clipboard format strings */
#define CFSTR_DSOBJECTNAMES TEXT( "DsObjectNames" )
#define CFSTR_DS_DISPLAY_SPEC_OPTIONS TEXT( "DsDisplaySpecOptions" )
#define CFSTR_DSDISPLAYSPECOPTIONS CFSTR_DS_DISPLAY_SPEC_OPTIONS
#define CFSTR_DSPROPERTYPAGEINFO TEXT( "DsPropPageInfo" )
/* Directory Service property prefixes */
#define DS_PROP_SHELL_PREFIX L"shell"
#define DS_PROP_ADMIN_PREFIX L"admin"
/* Directory Service display specifier option flags */
#define DSDSOF_HASUSERANDSERVERINFO 0x00000001L
#define DSDSOF_SIMPLEAUTHENTICATE 0x00000002L
#define DSDSOF_DONTSIGNSEAL 0x00000004L
#define DSDSOF_DSAVAILABLE 0x40000000L
/* Directory Service property messages */
#define DSPROP_ATTRCHANGED_MSG TEXT( "DsPropAttrChanged" )
/* Directory Service browse domain tree flags */
#define DBDTF_RETURNFQDN 0x00000001L
#define DBDTF_RETURNMIXEDDOMAINS 0x0x000002L
#define DBDTF_RETURNEXTERNAL 0x00000004L
#define DBDTF_RETURNINBOUND 0x00000008L
#define DBDTF_RETURNINOUTBOUND 0x00000010L
/* IDsDisplaySpecifier::SetServer() flags */
#define DSSSF_SIMPLEAUTHENTICATE 0x00000001L
#define DSSSF_DONTSIGNSEAL 0x00000002L
#define DSSSF_DSAVAILABLE 0x80000000L
/* IDsDisplaySpecifier::GetIcon() flags */
#define DSGIF_ISNORMAL 0x00000000L
#define DSGIF_ISOPEN 0x00000001L
#define DSGIF_ISDISABLED 0x00000002L
#define DSGIF_ISMASK 0x0000000FL
#define DSGIF_GETDEFAULTICON 0x00000010L
#define DSGIF_DEFAULTISCONTAINER 0x00000020L
/* IDsDisplaySpecifier::IsClassContainer() flags */
#define DSICCF_IGNORETREATASLEAF 0x00000001L
/* IDsDisplaySpecifier::EnumClassAttributes() flags */
#define DSECAF_NOTLISTED 0x00000001L
/* IDsDisplaySpecifier::GetClassCreationInfo() flags */
#define DSCCIF_HASWIZARDDIALOG 0x00000001L
#define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002L
/* DsBrowseForContainer() flags */
#define DSBI_NOBUTTONS 0x00000001L
#define DSBI_NOLINES 0x00000002L
#define DSBI_NOLINESATROOT 0x00000004L
#define DSBI_CHECKBOXES 0x00000100L
#define DSBI_NOROOT 0x00010000L
#define DSBI_INCLUDEHIDDEN 0x00020000L
#define DSBI_EXPANDONOPEN 0x00040000L
#define DSBI_EXPANDDIRECTORY 0x00090000L
#define DSBI_RETURN_FORMAT 0x00100000L
#define DSBI_HASCREDENTIALS 0x00200000L
#define DSBI_IGNORETREATASLEAF 0x00400000L
#define DSBI_SIMPLEAUTHENTICATE 0x00800000L
#define DSBI_RETURNOBJECTCLASS 0x01000000L
#define DSBI_DONTSIGNSEAL 0x02000000L
/* DsBrowseForContainer() maximum display name characters */
#define DSB_MAX_DISPLAYNAME_CHARS 64
/* DsBrowseForContainer() item masks */
#define DSBF_STATE 0x00000001L
#define DSBF_ICONLOCATION 0x00000002L
#define DSBF_DISPLAYNAME 0x00000004L
/* DsBrowseForContainer() item states */
#define DSBS_CHECKED 0x00000001L
#define DSBS_HIDDEN 0x00000002L
#define DSBS_ROOT 0x00000004L
/* DsBrowseForContainer() callback messages */
#define DSBM_QUERYINSERTW 100
#define DSBM_QUERYINSERTA 101
#define DSBM_CHANGEIMAGESTATE 102
#define DSBM_HELP 103
#define DSBM_CONTEXTMENU 104
#ifdef UNICODE
#define DSBM_QUERYINSERT DSBM_QUERYINSERTW
#else
#define DSBM_QUERYINSERT DSBM_QUERYINSERTA
#endif
/* DsBrowseForContainer() control identifiers */
#define DSBID_BANNER 256
#define DSBID_CONTAINERLIST 257
/* Directory Service object */
typedef struct {
DWORD dwFlags;
DWORD dwProviderFlags;
DWORD offsetName;
DWORD offsetClass;
} DSOBJECT;
typedef DSOBJECT *LPDSOBJECT;
/* Directory Service object names */
typedef struct {
CLSID clsidNamespace;
UINT cItems;
DSOBJECT aObjects[1];
} DSOBJECTNAMES;
typedef DSOBJECTNAMES *PDSOBJECTNAMES;
/* Directory Service display specifier options */
typedef struct _DSDISPLAYSPECOPTIONS {
DWORD dwSize;
DWORD dwFlags;
DWORD offsetAttribPrefix;
DWORD offsetUserName;
DWORD offsetPassword;
DWORD offsetServer;
DWORD offsetServerConfigPath;
} DSDISPLAYSPECOPTIONS;
typedef DSDISPLAYSPECOPTIONS *PDSDISPLAYSPECOPTIONS;
typedef DSDISPLAYSPECOPTIONS *LPDSDISPLAYSPECOPTIONS;
/* Directory Service property page information */
typedef struct {
DWORD offsetString;
} DSPROPERTYPAGEINFO;
typedef DSPROPERTYPAGEINFO *LPDSPROPERTYPAGEINFO;
/* Domain descriptor */
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;
typedef DOMAIN_DESC DOMAINDESC;
typedef DOMAIN_DESC *PDOMAIN_DESC;
typedef DOMAIN_DESC *LPDOMAINDESC;
/* Domain tree */
typedef struct {
DWORD dsSize;
DWORD dwCount;
DOMAINDESC aDomains[1];
} DOMAIN_TREE;
typedef DOMAIN_TREE DOMAINTREE;
typedef DOMAIN_TREE *PDOMAIN_TREE;
typedef DOMAIN_TREE *LPDOMAINTREE;
/* Directory Service enumerate attributes callback */
typedef HRESULT (CALLBACK *LPDSENUMATTRIBUTES)( LPARAM, LPCWSTR, LPCWSTR, DWORD );
/* Directory Service class creation information */
typedef struct {
DWORD dwFlags;
CLSID clsidWizardDialog;
CLSID clsidWizardPrimaryPage;
DWORD cWizardExtensions;
CLSID aWizardExtensions[1];
} DSCLASSCREATIONINFO;
typedef DSCLASSCREATIONINFO *LPDSCLASSCREATIONINFO;
/* DsBrowseForContainer() parameters */
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;
typedef 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;
typedef DSBROWSEINFOW *PDSBROWSEINFOW;
#ifdef UNICODE
typedef DSBROWSEINFOW DSBROWSEINFO;
typedef PDSBROWSEINFOW PDSBROWSEINFO;
#else
typedef DSBROWSEINFOA DSBROWSEINFO;
typedef PDSBROWSEINFOA PDSBROWSEINFO;
#endif
/* DsBrowseForContainer() item */
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;
typedef DSBITEMA *PDSBITEMA;
typedef struct {
DWORD cbStruct;
LPCWSTR pszADsPath;
LPCWSTR pszClass;
DWORD dwMask;
DWORD dwState;
DWORD dwStateMask;
WCHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
WCHAR szIconLocation[MAX_PATH];
INT iIconResID;
} DSBITEMW;
typedef DSBITEMW *PDSBITEMW;
#ifdef UNICODE
typedef DSBITEMW DSBITEM;
typedef PDSBITEMW PDSBITEM;
#else
typedef DSBITEMA DSBITEM;
typedef PDSBITEMA PDSBITEM;
#endif
/* GUIDs */
EXTERN_C const CLSID CLSID_MicrosoftDS;
EXTERN_C const CLSID CLSID_DsPropertyPages;
EXTERN_C const CLSID CLSID_DsDomainTreeBrowser;
EXTERN_C const IID IID_IDsBrowseDomainTree;
EXTERN_C const CLSID CLSID_DsDisplaySpecifier;
EXTERN_C const CLSID CLSID_DsFolderProperties;
#define IID_IDsDisplaySpecifier CLSID_DsDisplaySpecifier
#define IID_IDsFolderProperties CLSID_DsFolderProperties
/* IDsBrowseDomainTree interface */
#undef INTERFACE
#define INTERFACE IDsBrowseDomainTree
DECLARE_INTERFACE_( IDsBrowseDomainTree, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IDsBrowseDomainTree methods */
STDMETHOD( BrowseTo )( THIS_ HWND, LPWSTR *, DWORD ) PURE;
STDMETHOD( GetDomains )( THIS_ PDOMAIN_TREE *, DWORD ) PURE;
STDMETHOD( FreeDomains )( THIS_ PDOMAIN_TREE * ) PURE;
STDMETHOD( FlushCachedDomains )( THIS ) PURE;
STDMETHOD( SetComputer )( THIS_ LPCWSTR, LPCWSTR, LPCWSTR ) PURE;
};
/* IDsDisplaySpecifier interface */
#undef INTERFACE
#define INTERFACE IDsDisplaySpecifier
DECLARE_INTERFACE_( IDsDisplaySpecifier, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IDsDisplaySpecifier methods */
STDMETHOD( SetServer )( THIS_ LPCWSTR, LPCWSTR, LPCWSTR, DWORD ) PURE;
STDMETHOD( SetLanguageID )( THIS_ LANGID ) PURE;
STDMETHOD( GetDisplaySpecifier )( THIS_ LPCWSTR, REFIID, void ** ) PURE;
STDMETHOD( GetIconLocation )( THIS_ LPCWSTR, DWORD, LPWSTR, INT, INT * ) PURE;
STDMETHOD_( HICON, GetIcon )( THIS_ LPCWSTR, DWORD, INT, INT ) PURE;
STDMETHOD( GetFriendlyClassName )( THIS_ LPCWSTR, LPWSTR, INT ) PURE;
STDMETHOD( GetFriendlyAttributeName )( THIS_ LPCWSTR, LPCWSTR, LPWSTR, UINT ) PURE;
STDMETHOD_( BOOL, IsClassContainer )( THIS_ LPCWSTR, LPCWSTR, DWORD ) PURE;
STDMETHOD( GetClassCreationInfo )( THIS_ LPCWSTR, LPDSCLASSCREATIONINFO * ) PURE;
STDMETHOD( EnumClassAttributes )( THIS_ LPCWSTR, LPDSENUMATTRIBUTES, LPARAM ) PURE;
STDMETHOD_( ADSTYPE, GetAttributeADsType )( THIS_ LPCWSTR ) PURE;
};
/* Functions in DSUIEXT.DLL */
STDAPI_( int ) DsBrowseForContainerA( PDSBROWSEINFOA );
STDAPI_( int ) DsBrowseForContainerW( PDSBROWSEINFOW );
STDAPI DsGetFriendlyClassName( LPCWSTR, LPWSTR, UINT );
STDAPI_( HICON ) DsGetIcon( DWORD, LPCWSTR, INT, INT );
/* Map generic function names to the appropriate ANSI or Unicode version. */
#ifdef UNICODE
#define DsBrowseForContainer DsBrowseForContainerW
#else
#define DsBrowseForContainer DsBrowseForContainerA
#endif