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.
 
 
 
 
 
 

292 lines
7.3 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
authzi.h
Abstract:
This module contains the authorization framework APIs for internal callers.
Author:
Kedar Dubhashi - October 2000
Revision History:
Created - October 2000
--*/
#ifndef __AUTHZI_H__
#define __AUTHZI_H__
#include <authz.h>
#ifdef __cplusplus
extern "C" {
#endif
DECLARE_HANDLE(AUTHZ_AUDIT_QUEUE_HANDLE);
typedef AUTHZ_AUDIT_QUEUE_HANDLE *PAUTHZ_AUDIT_QUEUE_HANDLE;
//
// For AuthziInitializeAuditEventType
//
#define AUTHZP_INIT_GENERIC_AUDIT_EVENT 0x1
AUTHZAPI
BOOL
WINAPI
AuthziInitializeAuditEventType(
IN DWORD Flags,
IN USHORT CategoryID,
IN USHORT AuditID,
IN USHORT ParameterCount,
OUT PAUTHZ_AUDIT_EVENT_TYPE_HANDLE phAuditEventType
);
//
// Flags for AuthziModifyAuditEventType
//
#define AUTHZ_AUDIT_EVENT_TYPE_AUDITID 0x1
#define AUTHZ_AUDIT_EVENT_TYPE_CATEGID 0x2 // not implemented
#define AUTHZ_AUDIT_EVENT_TYPE_PARAM 0x4 // not implemented
AUTHZAPI
BOOL
WINAPI
AuthziModifyAuditEventType(
IN DWORD Flags,
IN USHORT CategoryID,
IN USHORT AuditID,
IN USHORT ParameterCount,
IN OUT AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType
);
AUTHZAPI
BOOL
WINAPI
AuthziFreeAuditEventType(
AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType
);
#define AUTHZ_MONITOR_AUDIT_QUEUE_SIZE 0x00000001
AUTHZAPI
BOOL
WINAPI
AuthziInitializeAuditQueue(
IN DWORD Flags,
IN DWORD dwAuditQueueHigh,
IN DWORD dwAuditQueueLow,
IN PVOID Reserved,
OUT PAUTHZ_AUDIT_QUEUE_HANDLE phAuditQueue
);
#define AUTHZ_AUDIT_QUEUE_HIGH 0x00000001
#define AUTHZ_AUDIT_QUEUE_LOW 0x00000002
#define AUTHZ_AUDIT_QUEUE_THREAD_PRIORITY 0x00000004
#define AUTHZ_AUDIT_QUEUE_FLAGS 0x00000008
#define AUTHZP_MONITOR_AUDIT_QUEUE_SIZE 0x00000010
AUTHZAPI
BOOL
WINAPI
AuthziModifyAuditQueue(
IN OUT AUTHZ_AUDIT_QUEUE_HANDLE pQueue OPTIONAL,
IN DWORD Flags,
IN DWORD dwQueueFlags OPTIONAL,
IN DWORD dwAuditQueueSizeHigh OPTIONAL,
IN DWORD dwAuditQueueSizeLow OPTIONAL,
IN DWORD dwThreadPriority OPTIONAL
);
AUTHZAPI
BOOL
WINAPI
AuthziFreeAuditQueue(
IN AUTHZ_AUDIT_QUEUE_HANDLE hQueue OPTIONAL
);
AUTHZAPI
BOOL
WINAPI
AuthziLogAuditEvent(
IN DWORD Flags,
IN AUTHZ_AUDIT_EVENT_HANDLE hEvent,
IN PVOID pReserved
);
AUTHZAPI
BOOL
WINAPI
AuthziAllocateAuditParams(
OUT PAUDIT_PARAMS * ppParams,
IN USHORT NumParams
);
AUTHZAPI
BOOL
WINAPI
AuthziInitializeAuditParamsWithRM(
IN DWORD Flags,
IN AUTHZ_RESOURCE_MANAGER_HANDLE hResourceManager,
IN USHORT NumParams,
OUT PAUDIT_PARAMS pParams,
...
);
AUTHZAPI
BOOL
WINAPI
AuthziInitializeAuditParamsFromArray(
IN DWORD Flags,
IN AUTHZ_RESOURCE_MANAGER_HANDLE hResourceManager,
IN USHORT NumParams,
IN PAUDIT_PARAM pParamArray,
OUT PAUDIT_PARAMS pParams
);
AUTHZAPI
BOOL
WINAPI
AuthziInitializeAuditParams(
IN DWORD dwFlags,
OUT PAUDIT_PARAMS pParams,
OUT PSID* ppUserSid,
IN PCWSTR SubsystemName,
IN USHORT NumParams,
...
);
AUTHZAPI
BOOL
WINAPI
AuthziFreeAuditParams(
PAUDIT_PARAMS pParams
);
#define AUTHZ_DS_CATEGORY_FLAG 0x00000008
AUTHZAPI
BOOL
WINAPI
AuthziInitializeAuditEvent(
IN DWORD Flags,
IN AUTHZ_RESOURCE_MANAGER_HANDLE hRM,
IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType OPTIONAL,
IN PAUDIT_PARAMS pAuditParams OPTIONAL,
IN AUTHZ_AUDIT_QUEUE_HANDLE hAuditQueue OPTIONAL,
IN DWORD dwTimeOut,
IN PWSTR szOperationType,
IN PWSTR szObjectType,
IN PWSTR szObjectName,
IN PWSTR szAdditionalInfo OPTIONAL,
OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent
);
//
// Valid flags for AuthzModifyAuditEvent
//
#define AUTHZ_AUDIT_EVENT_FLAGS 0x00000001
#define AUTHZ_AUDIT_EVENT_OPERATION_TYPE 0x00000002
#define AUTHZ_AUDIT_EVENT_OBJECT_TYPE 0x00000004
#define AUTHZ_AUDIT_EVENT_OBJECT_NAME 0x00000008
#define AUTHZ_AUDIT_EVENT_ADDITIONAL_INFO 0x00000010
#define AUTHZ_AUDIT_EVENT_ADDITIONAL_INFO2 0x00000020
#define AUTHZ_VALID_MODIFY_AUDIT_EVENT_FLAGS (AUTHZ_AUDIT_EVENT_FLAGS | \
AUTHZ_AUDIT_EVENT_OPERATION_TYPE | \
AUTHZ_AUDIT_EVENT_OBJECT_TYPE | \
AUTHZ_AUDIT_EVENT_OBJECT_NAME | \
AUTHZ_AUDIT_EVENT_ADDITIONAL_INFO | \
AUTHZ_AUDIT_EVENT_ADDITIONAL_INFO2)
AUTHZAPI
BOOL
WINAPI
AuthziModifyAuditEvent(
IN DWORD Flags,
IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
IN DWORD NewFlags,
IN PWSTR szOperationType,
IN PWSTR szObjectType,
IN PWSTR szObjectName,
IN PWSTR szAdditionalInfo
);
AUTHZAPI
BOOL
WINAPI
AuthziModifyAuditEvent2(
IN DWORD Flags,
IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
IN DWORD NewFlags,
IN PWSTR szOperationType,
IN PWSTR szObjectType,
IN PWSTR szObjectName,
IN PWSTR szAdditionalInfo,
IN PWSTR szAdditionalInfo2
);
AUTHZAPI
BOOL
WINAPI
AuthziQueryAuditPolicy(
IN DWORD dwFlags,
IN AUTHZ_CLIENT_CONTEXT_HANDLE hContext,
IN PCWSTR szResourceManager OPTIONAL,
IN DWORD dwEventID,
OUT PTOKEN_AUDIT_POLICY pPolicy,
IN OUT PDWORD pPolicySize
);
AUTHZAPI
BOOL
WINAPI
AuthziSetAuditPolicy(
IN DWORD dwFlags,
IN AUTHZ_CLIENT_CONTEXT_HANDLE hContext,
IN PCWSTR szResourceManager OPTIONAL,
IN PTOKEN_AUDIT_POLICY pPolicy
);
AUTHZAPI
BOOL
WINAPI
AuthziSourceAudit(
IN DWORD dwFlags,
IN USHORT CategoryId,
IN USHORT AuditId,
IN PWSTR szSource,
IN PSID pUserSid OPTIONAL,
IN USHORT Count,
...
);
AUTHZAPI
BOOL
WINAPI
AuthziInitializeContextFromSid(
IN DWORD Flags,
IN PSID UserSid,
IN AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager,
IN PLARGE_INTEGER pExpirationTime OPTIONAL,
IN LUID Identifier,
IN PVOID DynamicGroupArgs OPTIONAL,
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phAuthzClientContext
);
#ifdef __cplusplus
}
#endif
#endif