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.

327 lines
6.7 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. pfp.h
  5. Abstract:
  6. Headers of jet database read/write
  7. Author:
  8. Jin Huang (jinhuang) 09-Dec-1996
  9. Revision History:
  10. --*/
  11. #ifndef _pfp_
  12. #define _pfp_
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. SCESTATUS
  17. ScepStartANewSection(
  18. IN PSCECONTEXT hProfile,
  19. IN OUT PSCESECTION *hSection,
  20. IN SCEJET_TABLE_TYPE ProfileType,
  21. IN PCWSTR SectionName
  22. );
  23. SCESTATUS
  24. ScepOpenSectionForName(
  25. IN PSCECONTEXT hProfile,
  26. IN SCETYPE ProfileType,
  27. IN PCWSTR SectionName,
  28. OUT PSCESECTION *phSection
  29. );
  30. SCESTATUS
  31. ScepGetPrivileges(
  32. IN PSCECONTEXT hProfile,
  33. IN SCETYPE ProfileType,
  34. IN DWORD dwAccountFormat,
  35. OUT PVOID *pPrivileges,
  36. OUT PSCE_ERROR_LOG_INFO *Errlog OPTIONAL
  37. );
  38. SCESTATUS
  39. ScepAddToPrivList(
  40. IN PSCE_NAME_STATUS_LIST *pPrivList,
  41. IN DWORD Rights,
  42. IN PWSTR Name,
  43. IN DWORD Len
  44. );
  45. SCESTATUS
  46. ScepAddSidToPrivilegeList(
  47. OUT PSCE_PRIVILEGE_VALUE_LIST *pPrivilegeList,
  48. IN PSID pSid,
  49. IN BOOL bReuseBuffer,
  50. IN DWORD PrivValue,
  51. OUT BOOL *pbBufferUsed
  52. );
  53. SCESTATUS
  54. ScepCompareAndSaveIntValue(
  55. IN PSCESECTION hSection,
  56. IN PWSTR Name,
  57. IN BOOL bReplaceExistOnly,
  58. IN DWORD BaseValue,
  59. IN DWORD CurrentValue
  60. );
  61. SCESTATUS
  62. ScepCompareAndSaveStringValue(
  63. IN PSCESECTION hSection,
  64. IN PWSTR Name,
  65. IN PWSTR BaseValue,
  66. IN PWSTR CurrentValue,
  67. IN DWORD CurrentLen
  68. );
  69. SCESTATUS
  70. ScepSaveObjectString(
  71. IN PSCESECTION hSection,
  72. IN PWSTR Name,
  73. IN BOOL IsContainer,
  74. IN BYTE Flag,
  75. IN PWSTR Value,
  76. IN DWORD ValueLen
  77. );
  78. SCESTATUS
  79. ScepWriteAUserSetting(
  80. IN PSCESECTION hSectionList,
  81. IN PWSTR UserName,
  82. IN PSCESECTION hSection,
  83. IN PSCE_USER_SETTING pPerUserSetting
  84. );
  85. #define SCE_WRITE_EMPTY_LIST 0x1
  86. #define SCE_WRITE_CONVERT 0x2
  87. #define SCE_WRITE_LOCAL_TABLE 0x4
  88. SCESTATUS
  89. ScepWriteNameListValue(
  90. IN LSA_HANDLE LsaPolicy OPTIONAL,
  91. IN PSCESECTION hSection,
  92. IN PWSTR Name,
  93. IN PSCE_NAME_LIST NameList,
  94. IN DWORD dwWriteOption,
  95. IN INT Status
  96. );
  97. SCESTATUS
  98. ScepWriteNameStatusListValue(
  99. IN PSCESECTION hSection,
  100. IN PWSTR Name,
  101. IN PSCE_NAME_STATUS_LIST NameList,
  102. IN BOOL SaveEmptyList,
  103. IN INT Status
  104. );
  105. SCESTATUS
  106. ScepWriteSecurityDescriptorValue(
  107. IN PSCESECTION hSection,
  108. IN PWSTR Name,
  109. IN PSECURITY_DESCRIPTOR pSD,
  110. IN SECURITY_INFORMATION SeInfo
  111. );
  112. #define SCE_LOCAL_POLICY_MIGRATE 1L
  113. #define SCE_LOCAL_POLICY_DC 2L
  114. SCESTATUS
  115. ScepCopyLocalToMergeTable(
  116. IN PSCECONTEXT hProfile,
  117. IN DWORD Options,
  118. IN DWORD CopyOptions,
  119. OUT PSCE_ERROR_LOG_INFO *pErrlog
  120. );
  121. SCESTATUS
  122. ScepGetSingleServiceSetting(
  123. IN PSCESECTION hSection,
  124. IN PWSTR ServiceName,
  125. OUT PSCE_SERVICES *pOneService
  126. );
  127. SCESTATUS
  128. ScepSetSingleServiceSetting(
  129. IN PSCESECTION hSection,
  130. IN PSCE_SERVICES pOneService
  131. );
  132. SCESTATUS
  133. ScepCompareSingleServiceSetting(
  134. IN PSCE_SERVICES pNode1,
  135. IN PSCE_SERVICES pNode2,
  136. OUT PBOOL pIsDifferent
  137. );
  138. SCESTATUS
  139. ScepCopyObjects(
  140. IN PSCECONTEXT hProfile,
  141. IN SCETYPE ProfileType,
  142. IN PWSTR InfFile,
  143. IN PCWSTR SectionName,
  144. IN AREA_INFORMATION Area,
  145. IN OUT PSCE_ERROR_LOG_INFO *Errlog OPTIONAL
  146. );
  147. SCESTATUS
  148. ScepGetFixValueSection(
  149. IN PSCECONTEXT hProfile,
  150. IN PCWSTR SectionName,
  151. IN SCE_KEY_LOOKUP *Keys,
  152. IN DWORD cKeys,
  153. IN SCETYPE ProfileType,
  154. OUT PVOID pProfileInfo,
  155. OUT PSCESECTION *phSection,
  156. OUT PSCE_ERROR_LOG_INFO *Errlog OPTIONAL
  157. );
  158. #define SCEBROWSE_DOMAIN_POLICY 0x1
  159. #define SCEBROWSE_MULTI_SZ 0x2
  160. SCESTATUS
  161. ScepBrowseTableSection(
  162. IN PSCECONTEXT hProfile,
  163. IN SCETYPE ProfileType,
  164. IN PCWSTR SectionName,
  165. IN DWORD Options
  166. );
  167. #define SCE_ERROR_STRING TEXT("$#?Error?#$")
  168. SCESTATUS
  169. ScepTattooCheckAndUpdateArray(
  170. IN OUT SCE_TATTOO_KEYS *pTattooKeys,
  171. IN OUT DWORD *pcTattooKeys,
  172. IN PWSTR KeyName,
  173. IN DWORD ConfigOptions,
  174. IN DWORD dwValue
  175. );
  176. SCESTATUS
  177. ScepTattooOpenPolicySections(
  178. IN PSCECONTEXT hProfile,
  179. IN PCWSTR SectionName,
  180. OUT PSCESECTION *phSectionDomain,
  181. OUT PSCESECTION *phSectionTattoo
  182. );
  183. SCESTATUS
  184. ScepTattooManageOneStringValue(
  185. IN PSCESECTION hSectionDomain,
  186. IN PSCESECTION hSectionTattoo,
  187. IN PWSTR KeyName,
  188. IN DWORD KeyLen OPTIONAL,
  189. IN PWSTR Value,
  190. IN DWORD ValueLen,
  191. IN DWORD rc
  192. );
  193. SCESTATUS
  194. ScepTattooManageOneIntValue(
  195. IN PSCESECTION hSectionDomain,
  196. IN PSCESECTION hSectionTattoo,
  197. IN PWSTR KeyName,
  198. IN DWORD KeyLen OPTIONAL,
  199. IN DWORD Value,
  200. IN DWORD rc
  201. );
  202. SCESTATUS
  203. ScepTattooManageOneIntValueWithDependency(
  204. IN PSCESECTION hSectionDomain,
  205. IN PSCESECTION hSectionTattoo,
  206. IN PWSTR DependentKeyName,
  207. IN DWORD DependentKeyLen OPTIONAL,
  208. IN PWSTR SaveKeyName,
  209. IN DWORD Value,
  210. IN DWORD rc
  211. );
  212. SCESTATUS
  213. ScepTattooManageOneRegistryValue(
  214. IN PSCESECTION hSectionDomain,
  215. IN PSCESECTION hSectionTattoo,
  216. IN PWSTR KeyName,
  217. IN DWORD KeyLen OPTIONAL,
  218. IN PSCE_REGISTRY_VALUE_INFO pOneRegValue,
  219. IN DWORD rc
  220. );
  221. SCESTATUS
  222. ScepTattooManageOneMemberListValue(
  223. IN PSCESECTION hSectionDomain,
  224. IN PSCESECTION hSectionTattoo,
  225. IN PWSTR GroupName,
  226. IN DWORD GroupLen OPTIONAL,
  227. IN PSCE_NAME_LIST pNameList,
  228. IN BOOL bDeleteOnly,
  229. IN DWORD rc
  230. );
  231. SCESTATUS
  232. ScepTattooManageOneServiceValue(
  233. IN PSCESECTION hSectionDomain,
  234. IN PSCESECTION hSectionTattoo,
  235. IN PWSTR ServiceName,
  236. IN DWORD ServiceLen OPTIONAL,
  237. IN PSCE_SERVICES pServiceNode,
  238. IN DWORD rc
  239. );
  240. SCESTATUS
  241. ScepTattooManageValues(
  242. IN PSCESECTION hSectionDomain,
  243. IN PSCESECTION hSectionTattoo,
  244. IN SCE_TATTOO_KEYS *pTattooKeys,
  245. IN DWORD cTattooKeys,
  246. IN DWORD rc
  247. );
  248. BOOL
  249. ScepTattooIfQueryNeeded(
  250. IN PSCESECTION hSectionDomain,
  251. IN PSCESECTION hSectionTattoo,
  252. IN PWSTR KeyName,
  253. IN DWORD Len,
  254. OUT BOOL *pbDomainExist,
  255. OUT BOOL *pbTattooExist
  256. );
  257. SCESTATUS
  258. ScepDeleteOneSection(
  259. IN PSCECONTEXT hProfile,
  260. IN SCETYPE tblType,
  261. IN PCWSTR SectionName
  262. );
  263. SCESTATUS
  264. ScepTattooReadOneMemberOfListValue(
  265. IN PSCESECTION hSectionTattoo,
  266. IN PSID pGroupSid,
  267. OUT PSCE_NAME_LIST *ppTattooList
  268. );
  269. SCESTATUS
  270. ScepTattooWriteOneMemberOfListValue(
  271. IN PSCESECTION hSectionTattoo,
  272. IN PSID pGroupSid,
  273. IN PSCE_NAME_LIST pNameList
  274. );
  275. #ifdef __cplusplus
  276. }
  277. #endif
  278. #endif