233 lines
3.5 KiB
C
233 lines
3.5 KiB
C
//+---------------------------------------------------------------------------
|
|
//
|
|
// 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_
|
|
|