|
|
//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1996-1999 // // File: oleds.h // // Contents: Public header file for all oleds client code // //----------------------------------------------------------------------------
#ifndef _ADSHLP_ #define _ADSHLP_
#if _MSC_VER > 1000 #pragma once #endif
#ifdef __cplusplus extern "C" { #endif
HRESULT WINAPI ADsGetObject( LPCWSTR lpszPathName, REFIID riid, VOID * * ppObject );
HRESULT WINAPI ADsBuildEnumerator( IADsContainer *pADsContainer, IEnumVARIANT **ppEnumVariant );
HRESULT WINAPI ADsFreeEnumerator( IEnumVARIANT *pEnumVariant );
HRESULT WINAPI ADsEnumerateNext( IEnumVARIANT *pEnumVariant, ULONG cElements, VARIANT FAR *pvar, ULONG FAR *pcElementsFetched );
HRESULT WINAPI ADsBuildVarArrayStr( LPWSTR * lppPathNames, DWORD dwPathNames, VARIANT * pVar );
HRESULT WINAPI ADsBuildVarArrayInt( LPDWORD lpdwObjectTypes, DWORD dwObjectTypes, VARIANT * pVar );
HRESULT WINAPI ADsOpenObject( LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, void FAR * FAR * ppObject );
// // Helper functions for extended error support //
HRESULT WINAPI ADsGetLastError( OUT LPDWORD lpError, OUT LPWSTR lpErrorBuf, IN DWORD dwErrorBufLen, OUT LPWSTR lpNameBuf, IN DWORD dwNameBufLen );
VOID WINAPI ADsSetLastError( IN DWORD dwErr, IN LPCWSTR pszError, IN LPCWSTR pszProvider );
VOID WINAPI ADsFreeAllErrorRecords( VOID);
LPVOID WINAPI AllocADsMem( DWORD cb );
BOOL WINAPI FreeADsMem( LPVOID pMem );
LPVOID WINAPI ReallocADsMem( LPVOID pOldMem, DWORD cbOld, DWORD cbNew );
LPWSTR WINAPI AllocADsStr( LPCWSTR pStr );
BOOL WINAPI FreeADsStr( LPWSTR pStr );
BOOL WINAPI ReallocADsStr( LPWSTR *ppStr, LPWSTR pStr );
HRESULT WINAPI ADsEncodeBinaryData ( PBYTE pbSrcData, DWORD dwSrcLen, LPWSTR * ppszDestData );
HRESULT WINAPI ADsDecodeBinaryData ( LPCWSTR szSrcData, PBYTE *ppbDestData, ULONG *pdwDestLen );
HRESULT WINAPI PropVariantToAdsType( VARIANT * pVariant, DWORD dwNumVariant, PADSVALUE *ppAdsValues, PDWORD pdwNumValues );
HRESULT WINAPI AdsTypeToPropVariant( PADSVALUE pAdsValues, DWORD dwNumValues, VARIANT * pVariant );
void WINAPI AdsFreeAdsValues( PADSVALUE pAdsValues, DWORD dwNumValues );
// // Helper routines to convert IADsSecurityDescriptor to a binary // security descriptor and also to convert a binary SD to // IADsSecurityDescriptor. // HRESULT WINAPI BinarySDToSecurityDescriptor( PSECURITY_DESCRIPTOR pSecurityDescriptor, VARIANT *pVarsec, LPCWSTR pszServerName, LPCWSTR userName, LPCWSTR passWord, DWORD dwFlags );
HRESULT WINAPI SecurityDescriptorToBinarySD( VARIANT vVarSecDes, PSECURITY_DESCRIPTOR * ppSecurityDescriptor, PDWORD pdwSDLength, LPCWSTR pszServerName, LPCWSTR userName, LPCWSTR passWord, DWORD dwFlags );
#if DBG
extern LIST_ENTRY ADsMemList ;
extern CRITICAL_SECTION ADsMemCritSect ;
VOID InitADsMem( VOID ) ;
VOID AssertADsMemLeaks( VOID ) ;
VOID DumpMemoryTracker();
#else
#define InitADsMem() #define AssertADsMemLeaks()
#define DumpMemoryTracker()
#endif
#ifdef __cplusplus } #endif
#endif // _ADSHLP_
|