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.

180 lines
3.4 KiB

  1. #define MAXCOMPONENTS 10
  2. #define TOKEN_IDENTIFIER 1
  3. #define TOKEN_COMMA 2
  4. #define TOKEN_BSLASH 3
  5. #define TOKEN_END 4
  6. #define TOKEN_DOMAIN 5
  7. #define TOKEN_USER 6
  8. #define TOKEN_GROUP 7
  9. #define TOKEN_PRINTER 8
  10. #define TOKEN_COMPUTER 9
  11. #define TOKEN_SERVICE 10
  12. #define TOKEN_ATSIGN 11
  13. #define TOKEN_EXCLAMATION 12
  14. #define TOKEN_COLON 13
  15. #define TOKEN_FSLASH 14
  16. #define TOKEN_PROVIDER 15
  17. #define TOKEN_FILESERVICE 16
  18. #define TOKEN_FILESHARE 17
  19. #define TOKEN_SCHEMA 18
  20. #define TOKEN_CLASS 19
  21. #define TOKEN_PROPERTY 20
  22. #define TOKEN_SYNTAX 21
  23. #define TOKEN_NAMESPACE 22
  24. typedef struct _objectinfo {
  25. LPWSTR ProviderName;
  26. DWORD ObjectType;
  27. DWORD NumComponents;
  28. LPWSTR ComponentArray[MAXCOMPONENTS];
  29. LPWSTR DisplayComponentArray[MAXCOMPONENTS];
  30. } OBJECTINFO, *POBJECTINFO;
  31. HRESULT
  32. GetObject(
  33. LPWSTR szBuffer,
  34. CCredentials &Credentials,
  35. LPVOID * ppObject
  36. );
  37. HRESULT
  38. HeuristicGetObject(
  39. POBJECTINFO pObjectInfo,
  40. CCredentials &Credentials,
  41. LPVOID * ppObject
  42. );
  43. HRESULT
  44. GetNamespaceObject(
  45. POBJECTINFO pObjectInfo,
  46. CCredentials &Credentials,
  47. LPVOID * ppObject
  48. );
  49. HRESULT
  50. GetComputerObject(
  51. POBJECTINFO pObjectInfo,
  52. CCredentials &Credentials,
  53. LPVOID * ppObject
  54. );
  55. HRESULT
  56. GetUserObject(
  57. POBJECTINFO pObjectInfo,
  58. CCredentials &Credentials,
  59. LPVOID * ppObject
  60. );
  61. HRESULT
  62. GetGroupObject(
  63. POBJECTINFO pObjectInfo,
  64. CCredentials &Credentials,
  65. LPVOID * ppObject
  66. );
  67. HRESULT
  68. GetSchemaObject(
  69. POBJECTINFO pObjectInfo,
  70. CCredentials &Credentials,
  71. LPVOID * ppObject
  72. );
  73. HRESULT
  74. GetClassObject(
  75. POBJECTINFO pObjectInfo,
  76. LPVOID * ppObject
  77. );
  78. HRESULT
  79. GetSyntaxObject(
  80. POBJECTINFO pObjectInfo,
  81. LPVOID * ppObject
  82. );
  83. HRESULT
  84. GetPropertyObject(
  85. POBJECTINFO pObjectInfo,
  86. LPVOID * ppObject
  87. );
  88. HRESULT
  89. GetFileServiceObject(
  90. POBJECTINFO pObjectInfo,
  91. CCredentials &Credentials,
  92. LPVOID * ppObject
  93. );
  94. HRESULT
  95. GetFileShareObject(
  96. POBJECTINFO pObjectInfo,
  97. CCredentials &Credentials,
  98. LPVOID * ppObject
  99. );
  100. HRESULT
  101. GetPrinterObject(
  102. POBJECTINFO pObjectInfo,
  103. CCredentials &Credentials,
  104. LPVOID * ppObject
  105. );
  106. HRESULT
  107. ValidateNamespaceObject(
  108. POBJECTINFO pObjectInfo,
  109. CCredentials &Credentials
  110. );
  111. HRESULT
  112. ValidateComputerObject(
  113. POBJECTINFO pObjectInfo,
  114. CCredentials &Credentials
  115. );
  116. HRESULT
  117. ValidateUserObject(
  118. POBJECTINFO pObjectInfo,
  119. CCredentials &Credentials
  120. );
  121. HRESULT
  122. ValidateGroupObject(
  123. POBJECTINFO pObjectInfo,
  124. CCredentials &Credentials
  125. );
  126. HRESULT
  127. ValidateFileServiceObject(
  128. POBJECTINFO pObjectInfo,
  129. CCredentials &Credentials
  130. );
  131. HRESULT
  132. ValidateFileShareObject(
  133. POBJECTINFO pObjectInfo,
  134. CCredentials &Credentials
  135. );
  136. HRESULT
  137. ValidatePrinterObject(
  138. POBJECTINFO pObjectInfo
  139. );
  140. HRESULT
  141. BuildParent(
  142. POBJECTINFO pObjectInfo,
  143. LPWSTR szBuffer
  144. );
  145. HRESULT
  146. BuildGrandParent(
  147. POBJECTINFO pObjectInfo,
  148. LPWSTR szBuffer
  149. );
  150. HRESULT
  151. BuildADsPath(
  152. POBJECTINFO pObjectInfo,
  153. LPWSTR szBuffer
  154. );