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.

313 lines
6.2 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. srvrpcp.h
  5. Abstract:
  6. This module defines private APIs called from the RPC interfaces on server
  7. site.
  8. Author:
  9. Jin Huang (jinhuang) 28-Oct-1996
  10. Revision History:
  11. jinhuang 26-Jan-1998 splitted for client-server
  12. --*/
  13. #ifndef _srvrpcp_
  14. #define _srvrpcp_
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. typedef SCESTATUS (WINAPI *PFSCEINFWRITEINFO)(LPCTSTR, AREA_INFORMATION, PSCE_PROFILE_INFO, PSCE_ERROR_LOG_INFO *);
  19. typedef SCESTATUS (WINAPI *PFSCEGETINFO)(PVOID, SCETYPE, AREA_INFORMATION, PSCE_PROFILE_INFO *, PSCE_ERROR_LOG_INFO *);
  20. #define SCEPOL_SAVE_BUFFER 0x1
  21. #define SCEPOL_SAVE_DB 0x2
  22. #define SCEPOL_SYSTEM_SETTINGS 0x4
  23. //
  24. // svcsrv.cpp
  25. //
  26. SCESTATUS
  27. SceSvcpUpdateInfo(
  28. IN PSCECONTEXT Context,
  29. IN PCWSTR ServiceName,
  30. IN PSCESVC_CONFIGURATION_INFO Info
  31. );
  32. SCESTATUS
  33. SceSvcpQueryInfo(
  34. IN PSCECONTEXT Context,
  35. IN SCESVC_INFO_TYPE SceSvcType,
  36. IN PCWSTR ServiceName,
  37. IN PWSTR Prefix OPTIONAL,
  38. IN BOOL bExact,
  39. OUT PVOID *ppvInfo,
  40. OUT PSCE_ENUMERATION_CONTEXT psceEnumHandle
  41. );
  42. SCESTATUS
  43. SceSvcpSetInfo(
  44. IN PSCECONTEXT Context,
  45. IN SCESVC_INFO_TYPE SceSvcType,
  46. IN PCWSTR ServiceName,
  47. IN PWSTR Prefix OPTIONAL,
  48. IN BOOL bExact,
  49. IN LONG GpoID,
  50. IN PVOID pvInfo OPTIONAL
  51. );
  52. //
  53. // setupsrv.cpp
  54. //
  55. DWORD
  56. ScepSetupUpdateObject(
  57. IN PSCECONTEXT Context,
  58. IN PWSTR ObjectFullName,
  59. IN SE_OBJECT_TYPE ObjectType,
  60. IN UINT nFlag,
  61. IN PWSTR SDText
  62. );
  63. DWORD
  64. ScepSetupMoveFile(
  65. IN PSCECONTEXT Context,
  66. PWSTR OldName,
  67. PWSTR NewName OPTIONAL,
  68. PWSTR SDText OPTIONAL
  69. );
  70. //
  71. // pfget.cpp
  72. //
  73. SCESTATUS
  74. ScepGetDatabaseInfo(
  75. IN PSCECONTEXT Context,
  76. IN SCETYPE ProfileType,
  77. IN AREA_INFORMATION Area,
  78. IN DWORD dwAccountFormat,
  79. OUT PSCE_PROFILE_INFO *ppInfoBuffer,
  80. IN OUT PSCE_ERROR_LOG_INFO *Errlog OPTIONAL
  81. );
  82. SCESTATUS
  83. ScepGetObjectChildren(
  84. IN PSCECONTEXT Context,
  85. IN SCETYPE ProfileType,
  86. IN AREA_INFORMATION Area,
  87. IN PWSTR ObjectPrefix,
  88. IN SCE_SUBOBJECT_TYPE Option,
  89. OUT PVOID *Buffer,
  90. OUT PSCE_ERROR_LOG_INFO *Errlog OPTIONAL
  91. );
  92. SCESTATUS
  93. ScepGetObjectSecurity(
  94. IN PSCECONTEXT Context,
  95. IN SCETYPE ProfileType,
  96. IN AREA_INFORMATION Area,
  97. IN PWSTR ObjectName,
  98. OUT PSCE_OBJECT_SECURITY *ObjSecurity
  99. );
  100. //
  101. // ScepCopyObjects is called for each area
  102. // within the RPC interface SceRpcCopyObjects
  103. // for system service or security policy area
  104. // attchments needs to be considered
  105. //
  106. SCESTATUS
  107. ScepGetAnalysisSummary(
  108. IN PSCECONTEXT Context,
  109. IN AREA_INFORMATION Area,
  110. OUT PDWORD pCount
  111. );
  112. //
  113. // server.cpp
  114. //
  115. SCESTATUS
  116. ScepOpenDatabase(
  117. IN PCWSTR DatabaseName,
  118. IN DWORD OpenOption,
  119. IN SCEJET_OPEN_TYPE OpenType,
  120. OUT PSCECONTEXT *pContext
  121. );
  122. SCESTATUS
  123. ScepCloseDatabase(
  124. IN PSCECONTEXT Context
  125. );
  126. //
  127. // SceJetGetDescription, SceJetGetTimeStamp
  128. // SceJetStartTransaction, SceJetCommitTransaction, SceJetRollback,
  129. // RtlGetNtProductType (for SceRpcGetServerProductType)
  130. // are called within the RPC interfaces directly
  131. //
  132. //
  133. // config.c
  134. //
  135. SCESTATUS
  136. ScepConfigureSystem(
  137. IN PCWSTR InfFileName OPTIONAL,
  138. IN PWSTR DatabaseName,
  139. IN DWORD ConfigOptions,
  140. IN BOOL bAdminLogon,
  141. IN AREA_INFORMATION Area,
  142. OUT PDWORD pdWarning OPTIONAL
  143. );
  144. //
  145. // analyze.c
  146. //
  147. SCESTATUS
  148. ScepAnalyzeSystem(
  149. IN PCWSTR InfFileName OPTIONAL,
  150. IN PWSTR DatabaseName,
  151. IN DWORD AnalyzeOptions,
  152. IN BOOL bAdminLogon,
  153. IN AREA_INFORMATION Area,
  154. IN PDWORD pdWarning OPTIONAL,
  155. IN PWSTR InfRollback OPTIONAL
  156. );
  157. SCESTATUS
  158. ScepAnalyzeSystemAccess(
  159. IN PSCE_PROFILE_INFO pSmpInfo,
  160. IN PSCE_PROFILE_INFO pScpInfo OPTIONAL,
  161. IN DWORD dwSaveOption,
  162. OUT BOOL *pbChanged,
  163. IN OUT PSCE_ERROR_LOG_INFO *pErrLog
  164. );
  165. //
  166. // editsave.c
  167. //
  168. SCESTATUS
  169. ScepUpdateDatabaseInfo(
  170. IN PSCECONTEXT hProfile,
  171. IN AREA_INFORMATION Area,
  172. IN PSCE_PROFILE_INFO pInfo
  173. );
  174. SCESTATUS
  175. ScepUpdateLocalTable(
  176. IN PSCECONTEXT hProfile,
  177. IN AREA_INFORMATION Area,
  178. IN PSCE_PROFILE_INFO pInfo,
  179. IN DWORD dwMode
  180. );
  181. SCESTATUS
  182. ScepUpdateObjectInfo(
  183. IN PSCECONTEXT hProfile,
  184. IN AREA_INFORMATION Area,
  185. IN PWSTR ObjectName,
  186. IN DWORD NameLen,
  187. IN BYTE ConfigStatus,
  188. IN BOOL IsContainer,
  189. IN PSECURITY_DESCRIPTOR pSD,
  190. IN SECURITY_INFORMATION SeInfo,
  191. OUT PBYTE pAnalysisStatus
  192. );
  193. //
  194. // polsrv.cpp
  195. //
  196. DWORD
  197. ScepNotifyGetChangedPolicies(
  198. IN SECURITY_DB_TYPE DbType,
  199. IN SECURITY_DB_DELTA_TYPE DeltaType,
  200. IN SECURITY_DB_OBJECT_TYPE ObjectType,
  201. IN PSID ObjectSid OPTIONAL,
  202. IN OUT PSCE_PROFILE_INFO pSmpInfo,
  203. IN PSCE_PROFILE_INFO pScpInfo OPTIONAL,
  204. IN BOOL bSaveToLocal,
  205. IN DWORD ExplicitLowRight,
  206. IN DWORD ExplicitHighRight,
  207. OUT BOOL *pbChanged
  208. );
  209. DWORD
  210. ScepNotifySaveChangedPolicies(
  211. IN PSCECONTEXT hProfile,
  212. IN SECURITY_DB_TYPE DbType,
  213. IN AREA_INFORMATION Area,
  214. IN PSCE_PROFILE_INFO pInfo,
  215. IN PSCE_PROFILE_INFO pMergedInfo OPTIONAL
  216. );
  217. #define SCEGPO_INSETUP_NT4 1
  218. #define SCEGPO_INSETUP_NT5 2
  219. DWORD
  220. ScepNotifyGetDefaultGPOTemplateName(
  221. UNICODE_STRING DnsDomainName,
  222. IN BOOL bDomainPolicy,
  223. IN DWORD dwInSetup,
  224. OUT LPTSTR *pTemplateName
  225. );
  226. DWORD
  227. ScepNotifySaveNotifications(
  228. IN PWSTR TemplateName,
  229. IN SECURITY_DB_TYPE DbType,
  230. IN SECURITY_DB_OBJECT_TYPE ObjectType,
  231. IN SECURITY_DB_DELTA_TYPE DeltaType,
  232. IN PSID ObjectSid OPTIONAL
  233. );
  234. DWORD
  235. ScepNotifyUpdateGPOVersion(
  236. IN PWSTR GpoTemplateName,
  237. IN BOOL bDomainPolicy
  238. );
  239. //
  240. // analyze.cpp
  241. //
  242. SCESTATUS
  243. ScepGetSystemSecurity(
  244. IN AREA_INFORMATION Area,
  245. IN DWORD Options,
  246. OUT PSCE_PROFILE_INFO *ppInfo,
  247. OUT PSCE_ERROR_LOG_INFO *pErrLog
  248. );
  249. //
  250. // config.cpp
  251. //
  252. SCESTATUS
  253. ScepSetSystemSecurity(
  254. IN AREA_INFORMATION Area,
  255. IN DWORD ConfigOptions,
  256. IN PSCE_PROFILE_INFO pInfo,
  257. OUT PSCE_ERROR_LOG_INFO *pErrLog
  258. );
  259. #ifdef __cplusplus
  260. }
  261. #endif
  262. #endif