home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / adshlp.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  3KB  |  203 lines

  1. //+---------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //  Copyright (C) Microsoft Corporation, 1996
  5. //
  6. //  File:       oleds.h
  7. //
  8. //  Contents:   Public header file for all oleds client code
  9. //
  10. //----------------------------------------------------------------------------
  11.  
  12. #ifndef _ADSHLP_
  13. #define _ADSHLP_
  14.  
  15.  
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20.  
  21. HRESULT WINAPI
  22. ADsGetObject(
  23.     LPWSTR lpszPathName,
  24.     REFIID riid,
  25.     VOID * * ppObject
  26.     );
  27.  
  28.  
  29. HRESULT WINAPI
  30. ADsBuildEnumerator(
  31.     IADsContainer *pADsContainer,
  32.     IEnumVARIANT   **ppEnumVariant
  33.     );
  34.  
  35. HRESULT WINAPI
  36. ADsFreeEnumerator(
  37.     IEnumVARIANT *pEnumVariant
  38.     );
  39.  
  40. HRESULT WINAPI
  41. ADsEnumerateNext(
  42.     IEnumVARIANT *pEnumVariant,
  43.     ULONG         cElements,
  44.     VARIANT FAR  *pvar,
  45.     ULONG FAR    *pcElementsFetched
  46.     );
  47.  
  48. HRESULT WINAPI
  49. ADsBuildVarArrayStr(
  50.     LPWSTR *lppPathNames,
  51.     DWORD  dwPathNames,
  52.     VARIANT * pVar
  53.     );
  54.  
  55. HRESULT WINAPI
  56. ADsBuildVarArrayInt(
  57.     LPDWORD    lpdwObjectTypes,
  58.     DWORD      dwObjectTypes,
  59.     VARIANT * pVar
  60.     );
  61.  
  62.  
  63. HRESULT WINAPI
  64. ADsOpenObject(
  65.     LPWSTR lpszPathName,
  66.     LPWSTR lpszUserName,
  67.     LPWSTR lpszPassword,
  68.     DWORD  dwReserved,
  69.     REFIID riid,
  70.     void FAR * FAR * ppObject
  71.     );
  72.  
  73. //
  74. // Helper functions for extended error support
  75. //
  76.  
  77. HRESULT WINAPI
  78. ADsGetLastError(
  79.     OUT     LPDWORD lpError,
  80.     OUT     LPWSTR  lpErrorBuf,
  81.     IN      DWORD   dwErrorBufLen,
  82.     OUT     LPWSTR  lpNameBuf,
  83.     IN      DWORD   dwNameBufLen
  84.     );
  85.  
  86. VOID WINAPI
  87. ADsSetLastError(
  88.     IN  DWORD   dwErr,
  89.     IN  LPWSTR  pszError,
  90.     IN  LPWSTR  pszProvider
  91.     );
  92.  
  93.  
  94. VOID WINAPI
  95. ADsFreeAllErrorRecords(
  96.     VOID);
  97.  
  98. LPVOID WINAPI
  99. AllocADsMem(
  100.     DWORD cb
  101. );
  102.  
  103. BOOL WINAPI
  104. FreeADsMem(
  105.    LPVOID pMem
  106. );
  107.  
  108. LPVOID WINAPI
  109. ReallocADsMem(
  110.    LPVOID pOldMem,
  111.    DWORD cbOld,
  112.    DWORD cbNew
  113. );
  114.  
  115. LPWSTR WINAPI
  116. AllocADsStr(
  117.     LPWSTR pStr
  118. );
  119.  
  120. BOOL WINAPI
  121. FreeADsStr(
  122.    LPWSTR pStr
  123. );
  124.  
  125.  
  126. BOOL WINAPI
  127. ReallocADsStr(
  128.    LPWSTR *ppStr,
  129.    LPWSTR pStr
  130. );
  131.  
  132.  
  133. HRESULT WINAPI
  134. ADsEncodeBinaryData (
  135.    PBYTE   pbSrcData,
  136.    DWORD   dwSrcLen,
  137.    LPWSTR  * ppszDestData
  138.    );
  139.  
  140.  
  141. HRESULT WINAPI
  142. PropVariantToAdsType(
  143.     VARIANT * pVariant,
  144.     DWORD dwNumVariant,
  145.     PADSVALUE *ppAdsValues,
  146.     PDWORD pdwNumValues
  147.     );
  148.  
  149. HRESULT WINAPI
  150. AdsTypeToPropVariant(
  151.     PADSVALUE pAdsValues,
  152.     DWORD dwNumValues,
  153.     VARIANT * pVariant
  154.     );
  155.  
  156. void WINAPI
  157. AdsFreeAdsValues(
  158.     PADSVALUE pAdsValues,
  159.     DWORD dwNumValues
  160.     );
  161.  
  162. #if DBG
  163.  
  164. extern LIST_ENTRY ADsMemList ;
  165.  
  166. extern CRITICAL_SECTION ADsMemCritSect ;
  167.  
  168. VOID WINAPI InitADsMem(
  169.     VOID
  170.     ) ;
  171.  
  172. VOID WINAPI AssertADsMemLeaks(
  173.     VOID
  174.     ) ;
  175.  
  176.  
  177. VOID WINAPI
  178. DumpMemoryTracker();
  179.  
  180.  
  181. #else
  182.  
  183. #define InitADsMem()
  184. #define AssertADsMemLeaks()
  185.  
  186. #define DumpMemoryTracker()
  187.  
  188.  
  189.  
  190. #endif
  191.  
  192.  
  193. #ifdef __cplusplus
  194. }
  195. #endif
  196.  
  197. #endif // _ADSHLP_
  198.  
  199.  
  200.  
  201.  
  202.  
  203.