Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

171 lines
3.4 KiB

  1. #define MAXCOMPONENTS 20
  2. #define TOKEN_IDENTIFIER 1
  3. #define TOKEN_COMMA 2
  4. //
  5. // This no longer exists
  6. //#define TOKEN_BSLASH 3
  7. #define TOKEN_END 4
  8. #define TOKEN_DOMAIN 5
  9. #define TOKEN_USER 6
  10. #define TOKEN_GROUP 7
  11. #define TOKEN_PRINTER 8
  12. #define TOKEN_COMPUTER 9
  13. #define TOKEN_SERVICE 10
  14. #define TOKEN_ATSIGN 11
  15. #define TOKEN_EXCLAMATION 12
  16. #define TOKEN_COLON 13
  17. #define TOKEN_FSLASH 14
  18. #define TOKEN_PROVIDER 15
  19. #define TOKEN_FILESERVICE 16
  20. #define TOKEN_SCHEMA 17
  21. #define TOKEN_CLASS 18
  22. #define TOKEN_FUNCTIONALSET 19
  23. #define TOKEN_FUNCTIONALSETALIAS 20
  24. #define TOKEN_PROPERTY 21
  25. #define TOKEN_SYNTAX 22
  26. #define TOKEN_FILESHARE 23
  27. #define TOKEN_PERIOD 24
  28. #define TOKEN_EQUAL 25
  29. #define TOKEN_NAMESPACE 26
  30. #define TOKEN_TREE 27
  31. #define TOKEN_NDSOBJECT 28
  32. typedef struct _component {
  33. LPWSTR szComponent;
  34. LPWSTR szValue;
  35. }COMPONENT, *PCOMPONENT;
  36. typedef struct _objectinfo {
  37. LPWSTR ProviderName;
  38. LPWSTR TreeName;
  39. LPWSTR DisplayTreeName;
  40. LPWSTR ClassName;
  41. DWORD ObjectType;
  42. DWORD NumComponents;
  43. COMPONENT ComponentArray[MAXCOMPONENTS];
  44. COMPONENT DisplayComponentArray[MAXCOMPONENTS];
  45. } OBJECTINFO, *POBJECTINFO;
  46. HRESULT
  47. RelativeGetObject(
  48. BSTR ADsPath,
  49. BSTR ClassName,
  50. BSTR RelativeName,
  51. CCredentials& Credentials,
  52. IDispatch * FAR* ppObject,
  53. BOOL bNamespaceRelative
  54. );
  55. HRESULT
  56. GetObject(
  57. LPWSTR szBuffer,
  58. CCredentials& Credentials,
  59. LPVOID * ppObject
  60. );
  61. HRESULT
  62. GetNamespaceObject(
  63. POBJECTINFO pObjectInfo,
  64. CCredentials& Credentials,
  65. LPVOID * ppObject
  66. );
  67. HRESULT
  68. ValidateNamespaceObject(
  69. POBJECTINFO pObjectInfo
  70. );
  71. HRESULT
  72. GetSchemaObject(
  73. POBJECTINFO pObjectInfo,
  74. CCredentials& Credentials,
  75. LPVOID * ppObject
  76. );
  77. HRESULT
  78. ValidateSchemaObject(
  79. POBJECTINFO pObjectInfo,
  80. PDWORD pdwObjectType
  81. );
  82. HRESULT
  83. ValidateProvider(
  84. POBJECTINFO pObjectInfo
  85. );
  86. HRESULT
  87. AddComponent(
  88. POBJECTINFO pObjectInfo,
  89. LPWSTR szComponent,
  90. LPWSTR szValue,
  91. LPWSTR szDisplayComponent,
  92. LPWSTR szDisplayValue
  93. );
  94. HRESULT
  95. AddProviderName(
  96. POBJECTINFO pObjectInfo,
  97. LPWSTR szToken
  98. );
  99. HRESULT
  100. BuildADsParentPath(
  101. LPWSTR szBuffer,
  102. LPWSTR szParent,
  103. LPWSTR szCommonName
  104. );
  105. HRESULT
  106. BuildNDSPathFromADsPath(
  107. LPWSTR szADsPathName,
  108. LPWSTR* pszNDSPathName
  109. );
  110. HRESULT
  111. BuildADsParentPath(
  112. POBJECTINFO pObjectInfo,
  113. LPWSTR szParent,
  114. LPWSTR szCommonName
  115. );
  116. HRESULT
  117. ValidateObjectType(
  118. POBJECTINFO pObjectInfo
  119. );
  120. VOID
  121. FreeObjectInfo(
  122. POBJECTINFO pObjectInfo
  123. );
  124. HRESULT
  125. BuildNDSTreeNameFromADsPath(
  126. LPWSTR szBuffer,
  127. LPWSTR szNDSTreeName
  128. );
  129. HRESULT
  130. AppendComponent(
  131. LPWSTR szNDSPathName,
  132. PCOMPONENT pComponent
  133. );
  134. HRESULT
  135. BuildNDSPathFromADsPath(
  136. LPWSTR szADsPathName,
  137. LPWSTR szNDSTreeName,
  138. LPWSTR szNDSPathName
  139. );
  140. HRESULT
  141. GetDisplayName(
  142. LPWSTR szName,
  143. LPWSTR *ppszDisplayName
  144. );