Leaked source code of windows server 2003
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.

239 lines
7.1 KiB

  1. // Per-user data items
  2. // export for one-time initialization
  3. DWORD GetPSTUserHKEY(
  4. LPCWSTR szUser, // in
  5. HKEY* phUserKey, // out
  6. BOOL* pfExisted); // out
  7. // types
  8. DWORD BPCreateType( // fills in PST_GUIDNAME's sz if NULL
  9. LPCWSTR szUser, // in
  10. const GUID* pguidType, // in
  11. PST_TYPEINFO* pinfoType); // in
  12. DWORD BPDeleteType(
  13. LPCWSTR szUser, // in
  14. const GUID* pguidType); // in
  15. DWORD BPEnumTypes(
  16. LPCWSTR szUser, // in
  17. DWORD dwIndex, // in
  18. GUID* pguidType); // out
  19. DWORD BPGetTypeName( // fills in PST_GUIDNAME's sz
  20. LPCWSTR szUser, // in
  21. const GUID* pguidType, // in
  22. LPWSTR* ppszType); // out
  23. // subtypes
  24. DWORD BPCreateSubtype( // fills in PST_GUIDNAME's sz if NULL
  25. LPCWSTR szUser, // in
  26. const GUID* pguidType, // in
  27. const GUID* pguidSubtype, // in
  28. PST_TYPEINFO* pinfoSubtype); // in
  29. DWORD BPDeleteSubtype(
  30. LPCWSTR szUser, // in
  31. const GUID* pguidType, // in
  32. const GUID* pguidSubtype); // in
  33. DWORD BPEnumSubtypes(
  34. LPCWSTR szUser, // in
  35. DWORD dwIndex, // in
  36. const GUID* pguidType, // in
  37. GUID* pguidSubtype); // out
  38. DWORD BPGetSubtypeName( // fills in PST_GUIDNAME's sz
  39. LPCWSTR szUser, // in
  40. const GUID* pguidType, // in
  41. const GUID* pguidSubtype, // in
  42. LPWSTR* ppszSubtype); // out
  43. // items
  44. DWORD BPCreateItem(
  45. LPCWSTR szUser, // in
  46. const GUID* pguidType, // in
  47. const GUID* pguidSubtype, // in
  48. LPCWSTR szItemName); // in
  49. DWORD BPDeleteItem(
  50. LPCWSTR szUser, // in
  51. const GUID* pguidType, // in
  52. const GUID* pguidSubtype, // in
  53. LPCWSTR szItemName); // in
  54. DWORD BPEnumItems(
  55. LPCWSTR szUser, // in
  56. const GUID* pguidType, // in
  57. const GUID* pguidSubtype, // in
  58. DWORD dwIndex, // in
  59. LPWSTR* ppszName); // out
  60. #if 0
  61. // rulesets
  62. DWORD BPGetSubtypeRuleset(
  63. PST_PROVIDER_HANDLE* phPSTProv, // in
  64. LPCWSTR szUser, // in
  65. const GUID* pguidType, // in
  66. const GUID* pguidSubtype, // in
  67. PST_ACCESSRULESET* psRules); // out
  68. DWORD BPSetSubtypeRuleset(
  69. PST_PROVIDER_HANDLE* phPSTProv, // in
  70. LPCWSTR szUser, // in
  71. const GUID* pguidType, // in
  72. const GUID* pguidSubtype, // in
  73. PST_ACCESSRULESET *sRules); // in
  74. DWORD BPGetItemRuleset(
  75. PST_PROVIDER_HANDLE* phPSTProv, // in
  76. LPCWSTR szUser, // in
  77. const GUID* pguidType, // in
  78. const GUID* pguidSubtype, // in
  79. LPCWSTR szItemName, // in
  80. PST_ACCESSRULESET* psRules); // out
  81. DWORD BPSetItemRuleset(
  82. PST_PROVIDER_HANDLE* phPSTProv, // in
  83. LPCWSTR szUser, // in
  84. const GUID* pguidType, // in
  85. const GUID* pguidSubtype, // in
  86. LPCWSTR szItemName, // in
  87. PST_ACCESSRULESET *sRules); // in
  88. #endif
  89. // secured data
  90. BOOL FBPGetSecuredItemData(
  91. LPCWSTR szUser, // in
  92. LPCWSTR szMasterKey, // in
  93. BYTE rgbPwd[], // in
  94. const GUID* pguidType, // in
  95. const GUID* pguidSubtype, // in
  96. LPCWSTR szItemName, // in
  97. PBYTE* ppbData, // out
  98. DWORD* pcbData); // out
  99. BOOL FBPSetSecuredItemData(
  100. LPCWSTR szUser, // in
  101. LPCWSTR szMasterKey, // in
  102. BYTE rgbPwd[], // in
  103. const GUID* pguidType, // in
  104. const GUID* pguidSubtype, // in
  105. LPCWSTR szItemName, // in
  106. PBYTE pbData, // in
  107. DWORD cbData); // in
  108. // insecure data
  109. DWORD BPGetInsecureItemData(
  110. LPCWSTR szUser, // in
  111. const GUID* pguidType, // in
  112. const GUID* pguidSubtype, // in
  113. LPCWSTR szItemName, // in
  114. PBYTE* ppbData, // out
  115. DWORD* pcbData); // out
  116. DWORD BPSetInsecureItemData(
  117. LPCWSTR szUser, // in
  118. const GUID* pguidType, // in
  119. const GUID* pguidSubtype, // in
  120. LPCWSTR szItemName, // in
  121. PBYTE pbData, // in
  122. DWORD cbData); // in
  123. // Item Confirmation
  124. DWORD BPGetItemConfirm(
  125. PST_PROVIDER_HANDLE* phPSTProv, // in
  126. LPCWSTR szUser, // in
  127. const GUID* pguidType, // in
  128. const GUID* pguidSubtype, // in
  129. LPCWSTR szItemName, // in
  130. DWORD* pdwConfirm, // out
  131. LPWSTR* pszMK); // out
  132. DWORD BPSetItemConfirm(
  133. PST_PROVIDER_HANDLE* phPSTProv, // in
  134. LPCWSTR szUser, // in
  135. const GUID* pguidType, // in
  136. const GUID* pguidSubtype, // in
  137. LPCWSTR szItemName, // in
  138. DWORD dwConfirm, // in
  139. LPCWSTR szMK); // in
  140. // Master Keys
  141. BOOL BPMasterKeyExists(
  142. LPCWSTR szUser, // in
  143. LPWSTR szMasterKey); // in
  144. DWORD BPEnumMasterKeys(
  145. LPCWSTR szUser, // in
  146. DWORD dwIndex, // in
  147. LPWSTR* ppszMasterKey); // out
  148. DWORD BPGetMasterKeys(
  149. LPCWSTR szUser, // in
  150. LPCWSTR rgszMasterKeys[], // in
  151. DWORD* pcbMasterKeys, // in, out
  152. BOOL fUserFilter); // in
  153. // security state
  154. BOOL FBPGetSecurityState(
  155. LPCWSTR szUser, // in
  156. LPCWSTR szMK, // in
  157. BYTE rgbSalt[], // out
  158. DWORD cbSalt, // in
  159. BYTE rgbConfirm[], // out
  160. DWORD cbConfirm, // in
  161. PBYTE* ppbMK, // out
  162. DWORD* pcbMK); // out
  163. BOOL FBPGetSecurityStateFromHKEY(
  164. HKEY hMKKey,
  165. BYTE rgbSalt[],
  166. DWORD cbSalt,
  167. BYTE rgbConfirm[],
  168. DWORD cbConfirm,
  169. PBYTE* ppbMK,
  170. DWORD* pcbMK);
  171. BOOL FBPSetSecurityState(
  172. LPCWSTR szUser, // in
  173. LPCWSTR szMK, // in
  174. BYTE rgbSalt[], // in
  175. DWORD cbSalt, // in
  176. BYTE rgbConfirm[], // in
  177. DWORD cbConfirm, // in
  178. PBYTE pbMK, // in
  179. DWORD cbMK); // in
  180. // MAC keys
  181. BOOL FGetInternalMACKey(
  182. LPCWSTR szUser, // in
  183. PBYTE* ppbKey, // out
  184. DWORD* pcbKey); // out
  185. BOOL FSetInternalMACKey(
  186. LPCWSTR szUser, // in
  187. PBYTE pbKey, // in
  188. DWORD cbKey); // in
  189. // nuke existing user data
  190. BOOL
  191. DeleteAllUserData(
  192. HKEY hKey
  193. );
  194. BOOL
  195. DeleteUserData(
  196. HKEY hKey
  197. );