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.

94 lines
1.6 KiB

  1. /*++
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. scsec.h
  5. Abstract:
  6. Security related function prototypes.
  7. Author:
  8. Rita Wong (ritaw) 10-Mar-1992
  9. Revision History:
  10. --*/
  11. #ifndef _SCSEC_INCLUDED_
  12. #define _SCSEC_INCLUDED_
  13. #include <scseclib.h>
  14. DWORD
  15. ScCreateScManagerObject(
  16. VOID
  17. );
  18. DWORD
  19. ScCreateScServiceObject(
  20. OUT PSECURITY_DESCRIPTOR *ServiceSd
  21. );
  22. DWORD
  23. ScGrantAccess(
  24. IN OUT LPSC_HANDLE_STRUCT ContextHandle,
  25. IN ACCESS_MASK DesiredAccess
  26. );
  27. NTSTATUS
  28. ScPrivilegeCheckAndAudit(
  29. IN ULONG PrivilegeId,
  30. IN PVOID ObjectHandle,
  31. IN ACCESS_MASK DesiredAccess
  32. );
  33. DWORD
  34. ScAccessValidate(
  35. IN OUT LPSC_HANDLE_STRUCT ScObject,
  36. IN ACCESS_MASK DesiredAccess
  37. );
  38. DWORD
  39. ScAccessCheckAndAudit(
  40. IN LPWSTR SubsystemName,
  41. IN LPWSTR ObjectTypeName,
  42. IN LPWSTR ObjectName,
  43. IN OUT LPSC_HANDLE_STRUCT ContextHandle,
  44. IN PSECURITY_DESCRIPTOR SecurityDescriptor,
  45. IN ACCESS_MASK DesiredAccess,
  46. IN PGENERIC_MAPPING GenericMapping
  47. );
  48. DWORD
  49. ScStatusAccessCheck(
  50. IN LPSERVICE_RECORD lpService
  51. );
  52. DWORD
  53. ScGetPrivilege(
  54. IN DWORD numPrivileges,
  55. IN PULONG pulPrivileges
  56. );
  57. DWORD
  58. ScReleasePrivilege(
  59. VOID
  60. );
  61. DWORD
  62. ScGetClientSid(
  63. OUT PTOKEN_USER *UserInfo
  64. );
  65. #define SC_MANAGER_SUBSYSTEM_NAME L"SERVICE CONTROL MANAGER"
  66. #define SC_MANAGER_AUDIT_NAME L"SC Manager"
  67. #define SC_MANAGER_OBJECT_TYPE_NAME L"SC_MANAGER OBJECT"
  68. #define SC_SERVICE_OBJECT_TYPE_NAME L"SERVICE OBJECT"
  69. #endif // _SCSEC_INCLUDED_