home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / adsi / sampprov / getobj.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-29  |  3.1 KB  |  181 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     GetObj.h
  8.  
  9. Abstract:
  10.  
  11. Author:
  12.  
  13. Environment:
  14.  
  15.     User mode
  16.  
  17. Revision History :
  18.  
  19. --*/
  20. #ifndef _GETOBJ_H_
  21. #define _GETOBJ_H_
  22.  
  23. #define MAXCOMPONENTS               20
  24.  
  25. #define TOKEN_IDENTIFIER                1
  26. #define TOKEN_COMMA                     2
  27. #define TOKEN_BSLASH                    3
  28. #define TOKEN_END                       4
  29. #define TOKEN_OU                        5
  30. #define TOKEN_USER                      6
  31. #define TOKEN_GROUP                     7
  32.  
  33. #define TOKEN_ATSIGN                   11
  34. #define TOKEN_EXCLAMATION              12
  35. #define TOKEN_COLON                    13
  36. #define TOKEN_FSLASH                   14
  37. #define TOKEN_PROVIDER                 15
  38.  
  39. #define TOKEN_SCHEMA                   17
  40. #define TOKEN_CLASS                    18
  41. #define TOKEN_PROPERTY                 21
  42. #define TOKEN_SYNTAX                   22
  43.  
  44. #define TOKEN_PERIOD                   24
  45. #define TOKEN_EQUAL                    25
  46. #define TOKEN_NAMESPACE                26
  47. #define TOKEN_DSOBJECT                 28
  48.  
  49.  
  50. typedef struct _component {
  51.     LPWSTR szComponent;
  52.     LPWSTR szValue;
  53. }COMPONENT, *PCOMPONENT;
  54.  
  55. typedef struct _objectinfo {
  56.     LPWSTR  ProviderName;
  57.     LPWSTR  RootRDN;
  58.     DWORD   ObjectType;
  59.     DWORD   NumComponents;
  60.     COMPONENT  ComponentArray[MAXCOMPONENTS];
  61. } OBJECTINFO, *POBJECTINFO;
  62.  
  63. HRESULT
  64. RelativeGetObject(
  65.     BSTR ADsPath,
  66.     BSTR ClassName,
  67.     BSTR RelativeName,
  68.     IDispatch* FAR* ppObject,
  69.     BOOL bNamespaceRelative
  70.     );
  71.  
  72. HRESULT
  73. GetObject(
  74.     LPWSTR szBuffer,
  75.     LPVOID * ppObject
  76.     );
  77.  
  78. HRESULT
  79. GetNamespaceObject(
  80.     POBJECTINFO pObjectInfo,
  81.     LPVOID * ppObject
  82.     );
  83.  
  84. HRESULT
  85. ValidateNamespaceObject(
  86.     POBJECTINFO pObjectInfo
  87.     );
  88.  
  89. HRESULT
  90. GetSchemaObject(
  91.     POBJECTINFO pObjectInfo,
  92.     LPVOID * ppObject
  93.     );
  94.  
  95. HRESULT
  96. ValidateSchemaObject(
  97.     POBJECTINFO pObjectInfo,
  98.     PDWORD pdwObjectType
  99.     );
  100.  
  101. HRESULT
  102. ValidateProvider(
  103.     POBJECTINFO pObjectInfo
  104.     );
  105.  
  106. HRESULT
  107. AddComponent(
  108.     POBJECTINFO pObjectInfo,
  109.     LPWSTR szComponent,
  110.     LPWSTR szValue
  111.     );
  112.  
  113. HRESULT
  114. AddProviderName(
  115.     POBJECTINFO pObjectInfo,
  116.     LPWSTR szToken
  117.     );
  118.  
  119.  
  120. HRESULT
  121. BuildADsParentPath(
  122.     LPWSTR szBuffer,
  123.     LPWSTR szParent,
  124.     LPWSTR szCommonName
  125.     );
  126.  
  127. HRESULT
  128. BuildDSPathFromADsPath(
  129.     LPWSTR szADsPathName,
  130.     LPWSTR szSampleDSPathName
  131.     );
  132.  
  133. HRESULT
  134. BuildADsParentPath(
  135.     POBJECTINFO pObjectInfo,
  136.     LPWSTR szParent,
  137.     LPWSTR szCommonName
  138.     );
  139.  
  140.  
  141. HRESULT
  142. BuildDSTreeNameFromADsPath(
  143.     LPWSTR szBuffer,
  144.     LPWSTR szSampleDSTreeName
  145.     );
  146.  
  147. HRESULT
  148. ValidateObjectType(
  149.     POBJECTINFO pObjectInfo
  150.     );
  151.  
  152.  
  153. HRESULT
  154. BuildSampleDSRootRDNFromADsPath(
  155.     LPWSTR szBuffer,
  156.     LPWSTR szDSTreeName
  157.     );
  158.  
  159.  
  160. HRESULT
  161. AppendComponent(
  162.    LPWSTR szDSPathName,
  163.    PCOMPONENT pComponent
  164.    );
  165.  
  166. HRESULT
  167. BuildDSPathFromADsPath(
  168.     LPWSTR szADsPathName,
  169.     LPWSTR szDSRootName,
  170.     LPWSTR szDSPathName
  171.     );
  172.  
  173. HRESULT
  174. InstantiateDerivedObject(
  175.     IADs FAR * pADs,
  176.     REFIID riid,
  177.     void  ** ppObject
  178.     );
  179. #endif
  180.  
  181.