home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / ADSDK.ZIP / Samples / Provider / common.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-13  |  2.4 KB  |  158 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     Common.h
  8.  
  9. Abstract:
  10.  
  11.    Contains Sample Provider routines and properties that are common to
  12.    all objects.  Objects get the routines and properties through C++ 
  13.    inheritance.
  14.  
  15. Author:
  16.  
  17. Environment:
  18.  
  19.     User mode
  20.  
  21. Revision History :
  22.  
  23. --*/
  24. #ifndef _COMMON_H_
  25. #define _COMMON_H_
  26.  
  27. #define MAX_DWORD 0xFFFFFFFF
  28. #define SCHEMA_NAME L"Schema"  //Name of Schema object off of RootObject
  29.  
  30. HRESULT xx_put_BSTR(
  31.     BSTR* lppItemName,
  32.     BSTR lpName
  33.     );
  34.  
  35. HRESULT xx_put_LONG(
  36.     long *plnItem,
  37.     long Item
  38.     );
  39.  
  40. HRESULT
  41. xx_put_DATE(
  42.     DATE * pdaItem,
  43.     DATE daItem
  44.     );
  45.  
  46. HRESULT
  47. xx_put_VARIANT_BOOL(
  48.     VARIANT_BOOL * pfItem,
  49.     VARIANT_BOOL fItem
  50.     );
  51.  
  52. HRESULT
  53. xx_put_VARIANT(
  54.     VARIANT * * pvItem,
  55.     VARIANT vItem
  56.     );
  57.  
  58. HRESULT
  59. LoadTypeInfoEntry(
  60.     CDispatchMgr * pDispMgr,
  61.     REFIID libid,
  62.     REFIID iid,
  63.     void * pIntf,
  64.     DISPID SpecialId
  65.     );
  66.  
  67.  
  68. HRESULT
  69. MakeUncName(
  70.     LPWSTR szSrcBuffer,
  71.     LPWSTR szTargBuffer
  72.     );
  73.  
  74. HRESULT
  75. ValidateOutParameter(
  76.     BSTR * retval
  77.     );
  78.  
  79. HRESULT
  80. BuildADsPath(
  81.     BSTR Parent,
  82.     BSTR Name,
  83.     BSTR *pADsPath
  84.     );
  85.  
  86. HRESULT
  87. BuildSchemaPath(
  88.     BSTR bstrADsPath,
  89.     BSTR bstrClass,
  90.     BSTR *pSchemaPath
  91.     );
  92.  
  93. HRESULT
  94. BuildADsGuid(
  95.     REFCLSID clsid,
  96.     BSTR *pADsClass
  97.     );
  98.  
  99.  
  100. //
  101. // Accessing Well-known object types
  102. //
  103. //RHA  will have to do filters as whatever user passes in
  104. typedef struct _filters {
  105.     WCHAR szObjectName[MAX_PATH];
  106.     DWORD dwFilterId;
  107. } FILTERS, *PFILTERS;
  108.  
  109.  
  110. extern PFILTERS  gpFilters;
  111. extern DWORD gdwMaxFilters;
  112.  
  113.  
  114. HRESULT
  115. BuildADsPathFromDSPath(
  116.     LPWSTR szDSRootRDN,
  117.     LPWSTR szDSDNName,
  118.     LPWSTR szADsPathName
  119.     );
  120.  
  121. HRESULT
  122. BuildDSPathFromADsPath(
  123.     LPWSTR szADsPathName,
  124.     LPWSTR szDSPathName
  125.     );
  126.  
  127. HRESULT
  128. BuildDSParentPathFromDSPath(
  129.     LPWSTR szDSPathName,
  130.     LPWSTR szDSParentPathName,
  131.     LPWSTR szCommonName
  132.     );
  133.  
  134. HRESULT
  135. BuildDSPathFromDSParentPath(
  136.     LPWSTR szDSParentPathName,
  137.     LPWSTR szDSObjectCommonName,
  138.     LPWSTR szDSPathName
  139.     );
  140.  
  141.  
  142. typedef struct _KEYDATA {
  143.     DWORD   cTokens;
  144.     LPWSTR  pTokens[1];
  145. } KEYDATA, *PKEYDATA;
  146.  
  147.  
  148. PKEYDATA
  149. CreateTokenList(
  150.     LPWSTR   pKeyData,
  151.     WCHAR ch
  152.     );
  153.  
  154. HRESULT LoadTypeInfo(CLSID clsidTL, CLSID clsidTI, LPTYPEINFO *ppTI);
  155.  
  156. #endif
  157.  
  158.