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

📄 jwasddl.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptorA}
function ConvertStringSecurityDescriptorToSecurityDescriptorW(StringSecurityDescriptor: LPCWSTR;
  StringSDRevision: DWORD; var SecurityDescriptor: PSECURITY_DESCRIPTOR;
  SecurityDescriptorSize: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptorW}

{$IFDEF UNICODE}
function ConvertStringSecurityDescriptorToSecurityDescriptor(StringSecurityDescriptor: LPCWSTR;
  StringSDRevision: DWORD; var SecurityDescriptor: PSECURITY_DESCRIPTOR;
  SecurityDescriptorSize: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptor}
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptor(StringSecurityDescriptor: LPCSTR;
  StringSDRevision: DWORD; var SecurityDescriptor: PSECURITY_DESCRIPTOR;
  SecurityDescriptorSize: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptor}
{$ENDIF}

function ConvertSecurityDescriptorToStringSecurityDescriptorA(
  SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
  SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPSTR;
  StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptorA}
function ConvertSecurityDescriptorToStringSecurityDescriptorW(
  SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
  SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPWSTR;
  StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptorW}

{$IFDEF UNICODE}
function ConvertSecurityDescriptorToStringSecurityDescriptor(
  SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
  SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPWSTR;
  StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptor}
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptor(
  SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
  SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPSTR;
  StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptor}
{$ENDIF}

implementation

const
  advapi32 = 'advapi32.dll';


{$IFDEF DYNAMIC_LINK}
var
  _ConvertSidToStringSidA: Pointer;

function ConvertSidToStringSidA;
begin
  GetProcedureAddress(_ConvertSidToStringSidA, advapi32, 'ConvertSidToStringSidA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertSidToStringSidA]
  end;
end;
{$ELSE}
function ConvertSidToStringSidA; external advapi32 name 'ConvertSidToStringSidA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertSidToStringSidW: Pointer;

function ConvertSidToStringSidW;
begin
  GetProcedureAddress(_ConvertSidToStringSidW, advapi32, 'ConvertSidToStringSidW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertSidToStringSidW]
  end;
end;
{$ELSE}
function ConvertSidToStringSidW; external advapi32 name 'ConvertSidToStringSidW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertSidToStringSid: Pointer;

function ConvertSidToStringSid;
begin
  GetProcedureAddress(_ConvertSidToStringSid, advapi32, 'ConvertSidToStringSidW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertSidToStringSid]
  end;
end;
{$ELSE}
function ConvertSidToStringSid; external advapi32 name 'ConvertSidToStringSidW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertSidToStringSid: Pointer;

function ConvertSidToStringSid;
begin
  GetProcedureAddress(_ConvertSidToStringSid, advapi32, 'ConvertSidToStringSidA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertSidToStringSid]
  end;
end;
{$ELSE}
function ConvertSidToStringSid; external advapi32 name 'ConvertSidToStringSidA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertStringSidToSidA: Pointer;

function ConvertStringSidToSidA;
begin
  GetProcedureAddress(_ConvertStringSidToSidA, advapi32, 'ConvertStringSidToSidA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertStringSidToSidA]
  end;
end;
{$ELSE}
function ConvertStringSidToSidA; external advapi32 name 'ConvertStringSidToSidA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertStringSidToSidW: Pointer;

function ConvertStringSidToSidW;
begin
  GetProcedureAddress(_ConvertStringSidToSidW, advapi32, 'ConvertStringSidToSidW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertStringSidToSidW]
  end;
end;
{$ELSE}
function ConvertStringSidToSidW; external advapi32 name 'ConvertStringSidToSidW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertStringSidToSid: Pointer;

function ConvertStringSidToSid;
begin
  GetProcedureAddress(_ConvertStringSidToSid, advapi32, 'ConvertStringSidToSidW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertStringSidToSid]
  end;
end;
{$ELSE}
function ConvertStringSidToSid; external advapi32 name 'ConvertStringSidToSidW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvertStringSidToSid: Pointer;

function ConvertStringSidToSid;
begin
  GetProcedureAddress(_ConvertStringSidToSid, advapi32, 'ConvertStringSidToSidA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvertStringSidToSid]
  end;
end;
{$ELSE}
function ConvertStringSidToSid; external advapi32 name 'ConvertStringSidToSidA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _ConvStrSecDescrToSecDescrA: Pointer;

function ConvertStringSecurityDescriptorToSecurityDescriptorA;
begin
  GetProcedureAddress(_ConvStrSecDescrToSecDescrA, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvStrSecDescrToSecDescrA]
  end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptorA; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ConvStrSecDescrToSecDescrW: Pointer;

function ConvertStringSecurityDescriptorToSecurityDescriptorW;
begin
  GetProcedureAddress(_ConvStrSecDescrToSecDescrW, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvStrSecDescrToSecDescrW]
  end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptorW; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvStrSecDescrToSecDescr: Pointer;

function ConvertStringSecurityDescriptorToSecurityDescriptor;
begin
  GetProcedureAddress(_ConvStrSecDescrToSecDescr, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvStrSecDescrToSecDescr]
  end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptor; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvStrSecDescrToSecDescr: Pointer;

function ConvertStringSecurityDescriptorToSecurityDescriptor;
begin
  GetProcedureAddress(_ConvStrSecDescrToSecDescr, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvStrSecDescrToSecDescr]
  end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptor; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _ConvSecDescrToStrSecDescrA: Pointer;

function ConvertSecurityDescriptorToStringSecurityDescriptorA;
begin
  GetProcedureAddress(_ConvSecDescrToStrSecDescrA, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvSecDescrToStrSecDescrA]
  end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptorA; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ConvSecDescrToStrSecDescrW: Pointer;

function ConvertSecurityDescriptorToStringSecurityDescriptorW;
begin
  GetProcedureAddress(_ConvSecDescrToStrSecDescrW, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvSecDescrToStrSecDescrW]
  end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptorW; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvSecDescrToStrSecDescr: Pointer;

function ConvertSecurityDescriptorToStringSecurityDescriptor;
begin
  GetProcedureAddress(_ConvSecDescrToStrSecDescr, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvSecDescrToStrSecDescr]
  end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptor; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _ConvSecDescrToStrSecDescr: Pointer;

function ConvertSecurityDescriptorToStringSecurityDescriptor;
begin
  GetProcedureAddress(_ConvSecDescrToStrSecDescr, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ConvSecDescrToStrSecDescr]
  end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptor; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -