master
 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
11extern "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