windows-nt/Source/XPSP1/NT/ds/published/inc/authzi.w

229 lines
5.2 KiB
OpenEdge ABL
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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_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)
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
);
#ifdef __cplusplus
}
#endif
#endif