| 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 |