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.

163 lines
3.2 KiB

  1. //+-----------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (c) Microsoft Corporation 2000
  6. //
  7. // File: A D T G E N P . H
  8. //
  9. // Contents: private definitions of types/functions required for
  10. // generating generic audits.
  11. //
  12. // These definitions are not exposed to the client side code.
  13. // Any change to these definitions must not affect client
  14. // side code.
  15. //
  16. //
  17. // History:
  18. // 07-January-2000 kumarp created
  19. //
  20. //------------------------------------------------------------------------
  21. #ifndef _ADTGENP_H
  22. #define _ADTGENP_H
  23. #define ACF_LegacyAudit 0x00000001L
  24. #define ACF_ValidFlags (ACF_LegacyAudit)
  25. //
  26. // audit context for legacy audits
  27. //
  28. typedef struct _AUDIT_CONTEXT
  29. {
  30. //
  31. // List management
  32. //
  33. LIST_ENTRY Link;
  34. //
  35. // Flags TBD
  36. //
  37. DWORD Flags;
  38. //
  39. // PID of the process owning this context
  40. //
  41. DWORD ProcessId;
  42. //
  43. // Client supplied unique ID
  44. // This allows us to link this context with the client side
  45. // audit event type handle
  46. //
  47. LUID LinkId;
  48. //
  49. // for further enhancement
  50. //
  51. PVOID Reserved;
  52. //
  53. // Audit category ID
  54. //
  55. USHORT CategoryId;
  56. //
  57. // Audit event ID
  58. //
  59. USHORT AuditId;
  60. //
  61. // Expected parameter count
  62. //
  63. USHORT ParameterCount;
  64. } AUDIT_CONTEXT, *PAUDIT_CONTEXT;
  65. EXTERN_C
  66. NTSTATUS
  67. LsapAdtInitGenericAudits( VOID );
  68. EXTERN_C
  69. NTSTATUS
  70. LsapRegisterAuditEvent(
  71. IN PAUTHZ_AUDIT_EVENT_TYPE_OLD pAuditEventType,
  72. OUT PHANDLE phAuditContext
  73. );
  74. EXTERN_C
  75. NTSTATUS
  76. LsapUnregisterAuditEvent(
  77. IN OUT PHANDLE phAuditContext
  78. );
  79. EXTERN_C
  80. NTSTATUS
  81. LsapGenAuditEvent(
  82. IN HANDLE hAuditContext,
  83. IN DWORD Flags,
  84. IN PAUDIT_PARAMS pAuditParams,
  85. IN PVOID Reserved
  86. );
  87. NTSTATUS
  88. LsapAdtMapAuditParams(
  89. IN PAUDIT_PARAMS pAuditParams,
  90. OUT PSE_ADT_PARAMETER_ARRAY pSeAuditParameters,
  91. OUT PUNICODE_STRING pString,
  92. OUT PSE_ADT_OBJECT_TYPE* pObjectTypeList
  93. );
  94. NTSTATUS
  95. LsapAdtCheckAuditPrivilege(
  96. VOID
  97. );
  98. NTSTATUS
  99. LsapAdtRundownSecurityEventSource(
  100. IN DWORD dwFlags,
  101. IN DWORD dwCallerProcessId,
  102. IN OUT SECURITY_SOURCE_HANDLE * phEventSource
  103. );
  104. typedef struct _LSAP_SECURITY_EVENT_SOURCE
  105. {
  106. LIST_ENTRY List;
  107. DWORD dwFlags;
  108. PWSTR szEventSourceName;
  109. DWORD dwProcessId;
  110. LUID Identifier;
  111. DWORD dwRefCount;
  112. } LSAP_SECURITY_EVENT_SOURCE, *PLSAP_SECURITY_EVENT_SOURCE;
  113. EXTERN_C
  114. NTSTATUS
  115. LsapAdtRegisterSecurityEventSource(
  116. IN DWORD dwFlags,
  117. IN PCWSTR szEventSourceName,
  118. OUT AUDIT_HANDLE *phEventSource
  119. );
  120. EXTERN_C
  121. NTSTATUS
  122. LsapAdtUnregisterSecurityEventSource(
  123. IN DWORD dwFlags,
  124. IN AUDIT_HANDLE hEventSource
  125. );
  126. EXTERN_C
  127. NTSTATUS
  128. LsapAdtReportSecurityEvent(
  129. DWORD dwFlags,
  130. PLSAP_SECURITY_EVENT_SOURCE pSource,
  131. DWORD dwAuditId,
  132. PSID pSid,
  133. PAUDIT_PARAMS pParams
  134. );
  135. #endif //_ADTGENP_H