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.

164 lines
2.9 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. LPVOID * ppObject
  35. );
  36. HRESULT
  37. HeuristicGetObject(
  38. POBJECTINFO pObjectInfo,
  39. LPVOID * ppObject
  40. );
  41. HRESULT
  42. GetNamespaceObject(
  43. POBJECTINFO pObjectInfo,
  44. LPVOID * ppObject
  45. );
  46. HRESULT
  47. GetComputerObject(
  48. POBJECTINFO pObjectInfo,
  49. LPVOID * ppObject
  50. );
  51. HRESULT
  52. GetUserObject(
  53. POBJECTINFO pObjectInfo,
  54. LPVOID * ppObject
  55. );
  56. HRESULT
  57. GetGroupObject(
  58. POBJECTINFO pObjectInfo,
  59. LPVOID * ppObject
  60. );
  61. HRESULT
  62. GetSchemaObject(
  63. POBJECTINFO pObjectInfo,
  64. LPVOID * ppObject
  65. );
  66. HRESULT
  67. GetClassObject(
  68. POBJECTINFO pObjectInfo,
  69. LPVOID * ppObject
  70. );
  71. HRESULT
  72. GetSyntaxObject(
  73. POBJECTINFO pObjectInfo,
  74. LPVOID * ppObject
  75. );
  76. HRESULT
  77. GetPropertyObject(
  78. POBJECTINFO pObjectInfo,
  79. LPVOID * ppObject
  80. );
  81. HRESULT
  82. GetFileServiceObject(
  83. POBJECTINFO pObjectInfo,
  84. LPVOID * ppObject
  85. );
  86. HRESULT
  87. GetFileShareObject(
  88. POBJECTINFO pObjectInfo,
  89. LPVOID * ppObject
  90. );
  91. HRESULT
  92. GetPrinterObject(
  93. POBJECTINFO pObjectInfo,
  94. LPVOID * ppObject
  95. );
  96. HRESULT
  97. ValidateNamespaceObject(
  98. POBJECTINFO pObjectInfo
  99. );
  100. HRESULT
  101. ValidateComputerObject(
  102. POBJECTINFO pObjectInfo
  103. );
  104. HRESULT
  105. ValidateUserObject(
  106. POBJECTINFO pObjectInfo
  107. );
  108. HRESULT
  109. ValidateGroupObject(
  110. POBJECTINFO pObjectInfo
  111. );
  112. HRESULT
  113. ValidateFileServiceObject(
  114. POBJECTINFO pObjectInfo
  115. );
  116. HRESULT
  117. ValidateFileShareObject(
  118. POBJECTINFO pObjectInfo
  119. );
  120. HRESULT
  121. ValidatePrinterObject(
  122. POBJECTINFO pObjectInfo
  123. );
  124. HRESULT
  125. BuildParent(
  126. POBJECTINFO pObjectInfo,
  127. LPWSTR szBuffer
  128. );
  129. HRESULT
  130. BuildGrandParent(
  131. POBJECTINFO pObjectInfo,
  132. LPWSTR szBuffer
  133. );
  134. HRESULT
  135. BuildADsPath(
  136. POBJECTINFO pObjectInfo,
  137. LPWSTR szBuffer
  138. );