⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwaauthz.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:

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 + -