📄 jwaauthz.pas
字号:
function AuthzFreeContext(hAuthzClientContext: AUTHZ_CLIENT_CONTEXT_HANDLE): BOOL; stdcall;
{$EXTERNALSYM AuthzFreeContext}
//
// Valid flags that may be used in AuthzInitializeObjectAccessAuditEvent().
//
const
AUTHZ_NO_SUCCESS_AUDIT = $00000001;
{$EXTERNALSYM AUTHZ_NO_SUCCESS_AUDIT}
AUTHZ_NO_FAILURE_AUDIT = $00000002;
{$EXTERNALSYM AUTHZ_NO_FAILURE_AUDIT}
AUTHZ_NO_ALLOC_STRINGS = $00000004;
{$EXTERNALSYM AUTHZ_NO_ALLOC_STRINGS}
AUTHZ_VALID_OBJECT_ACCESS_AUDIT_FLAGS = (AUTHZ_NO_SUCCESS_AUDIT or AUTHZ_NO_FAILURE_AUDIT or AUTHZ_NO_ALLOC_STRINGS);
{$EXTERNALSYM AUTHZ_VALID_OBJECT_ACCESS_AUDIT_FLAGS}
function AuthzInitializeObjectAccessAuditEvent(Flags: DWORD; hAuditEventType: AUTHZ_AUDIT_EVENT_TYPE_HANDLE; szOperationType: PWSTR; szObjectType: PWSTR; szObjectName: PWSTR; szAdditionalInfo: PWSTR; phAuditEvent: PAUTHZ_AUDIT_EVENT_HANDLE; dwAdditionalParameterCount: DWORD {, ...}): BOOL; stdcall;
{$EXTERNALSYM AuthzInitializeObjectAccessAuditEvent}
//
// Enumeration type to be used to specify the type of information to be
// retrieved from an existing AUTHZ_AUDIT_EVENT_HANDLE.
//
type
_AUTHZ_AUDIT_EVENT_INFORMATION_CLASS = (
AuthzAuditEvent__0,
AuthzAuditEventInfoFlags,
AuthzAuditEventInfoOperationType,
AuthzAuditEventInfoObjectType,
AuthzAuditEventInfoObjectName,
AuthzAuditEventInfoAdditionalInfo);
{$EXTERNALSYM _AUTHZ_AUDIT_EVENT_INFORMATION_CLASS}
AUTHZ_AUDIT_EVENT_INFORMATION_CLASS = _AUTHZ_AUDIT_EVENT_INFORMATION_CLASS;
{$EXTERNALSYM AUTHZ_AUDIT_EVENT_INFORMATION_CLASS}
AuthzAuditEventInformationClass = AUTHZ_AUDIT_EVENT_INFORMATION_CLASS;
// todo this one seems not to be exported from authz.dll
function AuthzGetInformationFromAuditEvent(hAuditEvent: AUTHZ_AUDIT_EVENT_HANDLE; InfoClass: AUTHZ_AUDIT_EVENT_INFORMATION_CLASS; BufferSize: DWORD; pSizeRequired: PDWORD; Buffer: PVOID): BOOL; stdcall;
{$EXTERNALSYM AuthzGetInformationFromAuditEvent}
function AuthzFreeAuditEvent(hAuditEvent: AUTHZ_AUDIT_EVENT_HANDLE): BOOL; stdcall;
{$EXTERNALSYM AuthzFreeAuditEvent}
implementation
const
authz_lib = 'authz.dll';
{$IFDEF DYNAMIC_LINK}
var
_AuthzAccessCheck: Pointer;
function AuthzAccessCheck;
begin
GetProcedureAddress(_AuthzAccessCheck, authz_lib, 'AuthzAccessCheck');
asm
mov esp, ebp
pop ebp
jmp [_AuthzAccessCheck]
end;
end;
{$ELSE}
function AuthzAccessCheck; external authz_lib name 'AuthzAccessCheck';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzCachedAccessCheck: Pointer;
function AuthzCachedAccessCheck;
begin
GetProcedureAddress(_AuthzCachedAccessCheck, authz_lib, 'AuthzCachedAccessCheck');
asm
mov esp, ebp
pop ebp
jmp [_AuthzCachedAccessCheck]
end;
end;
{$ELSE}
function AuthzCachedAccessCheck; external authz_lib name 'AuthzCachedAccessCheck';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzOpenObjectAudit: Pointer;
function AuthzOpenObjectAudit;
begin
GetProcedureAddress(_AuthzOpenObjectAudit, authz_lib, 'AuthzOpenObjectAudit');
asm
mov esp, ebp
pop ebp
jmp [_AuthzOpenObjectAudit]
end;
end;
{$ELSE}
function AuthzOpenObjectAudit; external authz_lib name 'AuthzOpenObjectAudit';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzFreeHandle: Pointer;
function AuthzFreeHandle;
begin
GetProcedureAddress(_AuthzFreeHandle, authz_lib, 'AuthzFreeHandle');
asm
mov esp, ebp
pop ebp
jmp [_AuthzFreeHandle]
end;
end;
{$ELSE}
function AuthzFreeHandle; external authz_lib name 'AuthzFreeHandle';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzInitializeResourceManager: Pointer;
function AuthzInitializeResourceManager;
begin
GetProcedureAddress(_AuthzInitializeResourceManager, authz_lib, 'AuthzInitializeResourceManager');
asm
mov esp, ebp
pop ebp
jmp [_AuthzInitializeResourceManager]
end;
end;
{$ELSE}
function AuthzInitializeResourceManager; external authz_lib name 'AuthzInitializeResourceManager';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzFreeResourceManager: Pointer;
function AuthzFreeResourceManager;
begin
GetProcedureAddress(_AuthzFreeResourceManager, authz_lib, 'AuthzFreeResourceManager');
asm
mov esp, ebp
pop ebp
jmp [_AuthzFreeResourceManager]
end;
end;
{$ELSE}
function AuthzFreeResourceManager; external authz_lib name 'AuthzFreeResourceManager';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzInitializeContextFromToken: Pointer;
function AuthzInitializeContextFromToken;
begin
GetProcedureAddress(_AuthzInitializeContextFromToken, authz_lib, 'AuthzInitializeContextFromToken');
asm
mov esp, ebp
pop ebp
jmp [_AuthzInitializeContextFromToken]
end;
end;
{$ELSE}
function AuthzInitializeContextFromToken; external authz_lib name 'AuthzInitializeContextFromToken';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzInitializeContextFromSid: Pointer;
function AuthzInitializeContextFromSid;
begin
GetProcedureAddress(_AuthzInitializeContextFromSid, authz_lib, 'AuthzInitializeContextFromSid');
asm
mov esp, ebp
pop ebp
jmp [_AuthzInitializeContextFromSid]
end;
end;
{$ELSE}
function AuthzInitializeContextFromSid; external authz_lib name 'AuthzInitializeContextFromSid';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzInitCxtFromAuthzCxt: Pointer;
function AuthzInitializeContextFromAuthzContext;
begin
GetProcedureAddress(_AuthzInitCxtFromAuthzCxt, authz_lib, 'AuthzInitializeContextFromAuthzContext');
asm
mov esp, ebp
pop ebp
jmp [_AuthzInitCxtFromAuthzCxt]
end;
end;
{$ELSE}
function AuthzInitializeContextFromAuthzContext; external authz_lib name 'AuthzInitializeContextFromAuthzContext';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzAddSidsToContext: Pointer;
function AuthzAddSidsToContext;
begin
GetProcedureAddress(_AuthzAddSidsToContext, authz_lib, 'AuthzAddSidsToContext');
asm
mov esp, ebp
pop ebp
jmp [_AuthzAddSidsToContext]
end;
end;
{$ELSE}
function AuthzAddSidsToContext; external authz_lib name 'AuthzAddSidsToContext';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzGetInformationFromContext: Pointer;
function AuthzGetInformationFromContext;
begin
GetProcedureAddress(_AuthzGetInformationFromContext, authz_lib, 'AuthzGetInformationFromContext');
asm
mov esp, ebp
pop ebp
jmp [_AuthzGetInformationFromContext]
end;
end;
{$ELSE}
function AuthzGetInformationFromContext; external authz_lib name 'AuthzGetInformationFromContext';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzFreeContext: Pointer;
function AuthzFreeContext;
begin
GetProcedureAddress(_AuthzFreeContext, authz_lib, 'AuthzFreeContext');
asm
mov esp, ebp
pop ebp
jmp [_AuthzFreeContext]
end;
end;
{$ELSE}
function AuthzFreeContext; external authz_lib name 'AuthzFreeContext';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzInitObjAccAuditEvent: Pointer;
function AuthzInitializeObjectAccessAuditEvent;
begin
GetProcedureAddress(_AuthzInitObjAccAuditEvent, authz_lib, 'AuthzInitializeObjectAccessAuditEvent');
asm
mov esp, ebp
pop ebp
jmp [_AuthzInitObjAccAuditEvent]
end;
end;
{$ELSE}
function AuthzInitializeObjectAccessAuditEvent; external authz_lib name 'AuthzInitializeObjectAccessAuditEvent';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzGetInfoFromAuditEvent: Pointer;
function AuthzGetInformationFromAuditEvent;
begin
GetProcedureAddress(_AuthzGetInfoFromAuditEvent, authz_lib, 'AuthzGetInformationFromAuditEvent');
asm
mov esp, ebp
pop ebp
jmp [_AuthzGetInfoFromAuditEvent]
end;
end;
{$ELSE}
function AuthzGetInformationFromAuditEvent; external authz_lib name 'AuthzGetInformationFromAuditEvent';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AuthzFreeAuditEvent: Pointer;
function AuthzFreeAuditEvent;
begin
GetProcedureAddress(_AuthzFreeAuditEvent, authz_lib, 'AuthzFreeAuditEvent');
asm
mov esp, ebp
pop ebp
jmp [_AuthzFreeAuditEvent]
end;
end;
{$ELSE}
function AuthzFreeAuditEvent; external authz_lib name 'AuthzFreeAuditEvent';
{$ENDIF DYNAMIC_LINK}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -