1 /** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 #include <winapifamily.h> 6 7 #ifndef _ADSHLP_ 8 #define _ADSHLP_ 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 15 HRESULT WINAPI ADsGetObject (LPCWSTR lpszPathName, REFIID riid, VOID **ppObject); 16 HRESULT WINAPI ADsBuildEnumerator (IADsContainer *pADsContainer, IEnumVARIANT **ppEnumVariant); 17 HRESULT WINAPI ADsFreeEnumerator (IEnumVARIANT *pEnumVariant); 18 HRESULT WINAPI ADsEnumerateNext (IEnumVARIANT *pEnumVariant, ULONG cElements, VARIANT *pvar, ULONG *pcElementsFetched); 19 HRESULT WINAPI ADsBuildVarArrayStr (LPWSTR *lppPathNames, DWORD dwPathNames, VARIANT *pVar); 20 HRESULT WINAPI ADsBuildVarArrayInt (LPDWORD lpdwObjectTypes, DWORD dwObjectTypes, VARIANT *pVar); 21 HRESULT WINAPI ADsOpenObject (LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, void **ppObject); 22 HRESULT WINAPI ADsGetLastError (LPDWORD lpError, LPWSTR lpErrorBuf, DWORD dwErrorBufLen, LPWSTR lpNameBuf, DWORD dwNameBufLen); 23 VOID WINAPI ADsSetLastError (DWORD dwErr, LPCWSTR pszError, LPCWSTR pszProvider); 24 VOID WINAPI ADsFreeAllErrorRecords (VOID); 25 LPVOID WINAPI AllocADsMem (DWORD cb); 26 WINBOOL WINAPI FreeADsMem (LPVOID pMem); 27 LPVOID WINAPI ReallocADsMem (LPVOID pOldMem, DWORD cbOld, DWORD cbNew); 28 LPWSTR WINAPI AllocADsStr (LPCWSTR pStr); 29 WINBOOL WINAPI FreeADsStr (LPWSTR pStr); 30 WINBOOL WINAPI ReallocADsStr (LPWSTR *ppStr, LPWSTR pStr); 31 HRESULT WINAPI ADsEncodeBinaryData (PBYTE pbSrcData, DWORD dwSrcLen, LPWSTR *ppszDestData); 32 HRESULT WINAPI ADsDecodeBinaryData (LPCWSTR szSrcData, PBYTE *ppbDestData, ULONG *pdwDestLen); 33 HRESULT WINAPI PropVariantToAdsType (VARIANT *pVariant, DWORD dwNumVariant, PADSVALUE *ppAdsValues, PDWORD pdwNumValues); 34 HRESULT WINAPI AdsTypeToPropVariant (PADSVALUE pAdsValues, DWORD dwNumValues, VARIANT *pVariant); 35 void WINAPI AdsFreeAdsValues (PADSVALUE pAdsValues, DWORD dwNumValues); 36 HRESULT WINAPI BinarySDToSecurityDescriptor (PSECURITY_DESCRIPTOR pSecurityDescriptor, VARIANT *pVarsec, LPCWSTR pszServerName, LPCWSTR userName, LPCWSTR passWord, DWORD dwFlags); 37 HRESULT WINAPI SecurityDescriptorToBinarySD (VARIANT vVarSecDes, PSECURITY_DESCRIPTOR *ppSecurityDescriptor, PDWORD pdwSDLength, LPCWSTR pszServerName, LPCWSTR userName, LPCWSTR passWord, DWORD dwFlags); 38 39 #define InitADsMem() 40 #define AssertADsMemLeaks() 41 #define DumpMemoryTracker() 42 #endif 43 44 #ifdef __cplusplus 45 } 46 #endif 47 #endif 48