📄 jwasspi.pas
字号:
type
INITIALIZE_SECURITY_CONTEXT_FN_W = function (phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecWChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM INITIALIZE_SECURITY_CONTEXT_FN_W}
function InitializeSecurityContextA(phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM InitializeSecurityContextA}
type
INITIALIZE_SECURITY_CONTEXT_FN_A = function (phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM INITIALIZE_SECURITY_CONTEXT_FN_A}
{$IFDEF UNICODE}
function InitializeSecurityContext(phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecWChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM InitializeSecurityContext}
type
INITIALIZE_SECURITY_CONTEXT_FN = function (phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecWChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM INITIALIZE_SECURITY_CONTEXT_FN}
{$ELSE}
function InitializeSecurityContext(phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM InitializeSecurityContext}
type
INITIALIZE_SECURITY_CONTEXT_FN = function (phCredential: PCredHandle; phContext: PCtxtHandle;
pszTargetName: PSecChar; fContextReq, Reserved1, TargetDataRep: Cardinal;
pInput: PSecBufferDesc; Reserved2: Cardinal; phNewContext: PCtxtHandle;
pOutput: PSecBufferDesc; var pfContextAttr: Cardinal; ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM INITIALIZE_SECURITY_CONTEXT_FN}
{$ENDIF}
function AcceptSecurityContext(phCredential: PCredHandle; phContext: PCtxtHandle;
pInput: PSecBufferDesc; fContextReq, TargetDataRep: Cardinal;
phNewContext: PCtxtHandle; pOutput: PSecBufferDesc; var pfContextAttr: Cardinal;
ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM AcceptSecurityContext}
type
ACCEPT_SECURITY_CONTEXT_FN = function (phCredential: PCredHandle; phContext: PCtxtHandle;
pInput: PSecBufferDesc; fContextReq, TargetDataRep: Cardinal;
phNewContext: PCtxtHandle; pOutput: PSecBufferDesc; var pfContextAttr: Cardinal;
ptsExpiry: PTimeStamp): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ACCEPT_SECURITY_CONTEXT_FN}
function CompleteAuthToken(phContext: PCtxtHandle; pToken: PSecBufferDesc): SECURITY_STATUS; stdcall;
{$EXTERNALSYM CompleteAuthToken}
type
COMPLETE_AUTH_TOKEN_FN = function (phContext: PCtxtHandle; pToken: PSecBufferDesc): SECURITY_STATUS; stdcall;
{$EXTERNALSYM COMPLETE_AUTH_TOKEN_FN}
function ImpersonateSecurityContext(phContext: PCtxtHandle): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ImpersonateSecurityContext}
type
IMPERSONATE_SECURITY_CONTEXT_FN = function (phContext: PCtxtHandle): SECURITY_STATUS; stdcall;
{$EXTERNALSYM IMPERSONATE_SECURITY_CONTEXT_FN}
function RevertSecurityContext(phContext: PCtxtHandle): SECURITY_STATUS; stdcall;
{$EXTERNALSYM RevertSecurityContext}
type
REVERT_SECURITY_CONTEXT_FN = function (phContext: PCtxtHandle): SECURITY_STATUS; stdcall;
{$EXTERNALSYM REVERT_SECURITY_CONTEXT_FN}
function QuerySecurityContextToken(phContext: PCtxtHandle; var Token: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QuerySecurityContextToken}
type
QUERY_SECURITY_CONTEXT_TOKEN_FN = function (phContext: PCtxtHandle;
var Token: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_SECURITY_CONTEXT_TOKEN_FN}
function DeleteSecurityContext(phContext: PCtxtHandle): SECURITY_STATUS; stdcall;
{$EXTERNALSYM DeleteSecurityContext}
type
DELETE_SECURITY_CONTEXT_FN = function (phContext: PCtxtHandle): SECURITY_STATUS; stdcall;
{$EXTERNALSYM DELETE_SECURITY_CONTEXT_FN}
function ApplyControlToken(phContext: PCtxtHandle; pInput: PSecBufferDesc): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ApplyControlToken}
type
APPLY_CONTROL_TOKEN_FN = function (phContext: PCtxtHandle; pInput: PSecBufferDesc): SECURITY_STATUS; stdcall;
{$EXTERNALSYM APPLY_CONTROL_TOKEN_FN}
function QueryContextAttributesW(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryContextAttributesW}
type
QUERY_CONTEXT_ATTRIBUTES_FN_W = function (phContext: PCtxtHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CONTEXT_ATTRIBUTES_FN_W}
function QueryContextAttributesA(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryContextAttributesA}
type
QUERY_CONTEXT_ATTRIBUTES_FN_A = function (phContext: PCtxtHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CONTEXT_ATTRIBUTES_FN_A}
{$IFDEF UNICODE}
function QueryContextAttributes(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryContextAttributes}
type
QUERY_CONTEXT_ATTRIBUTES_FN = function (phContext: PCtxtHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CONTEXT_ATTRIBUTES_FN}
{$ELSE}
function QueryContextAttributes(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryContextAttributes}
type
QUERY_CONTEXT_ATTRIBUTES_FN = function (phContext: PCtxtHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CONTEXT_ATTRIBUTES_FN}
{$ENDIF}
function SetContextAttributesW(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer; cbBuffer: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM SetContextAttributesW}
type
SET_CONTEXT_ATTRIBUTES_FN_W = function (phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer; cbBuffer: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM SET_CONTEXT_ATTRIBUTES_FN_W}
function SetContextAttributesA(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer; cbBuffer: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM SetContextAttributesA}
type
SET_CONTEXT_ATTRIBUTES_FN_A = function (phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer; cbBuffer: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM SET_CONTEXT_ATTRIBUTES_FN_A}
{$IFDEF UNICODE}
function SetContextAttributes(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer; cbBuffer: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM SetContextAttributes}
type
SET_CONTEXT_ATTRIBUTES_FN = SET_CONTEXT_ATTRIBUTES_FN_W;
{$EXTERNALSYM SET_CONTEXT_ATTRIBUTES_FN}
{$ELSE}
function SetContextAttributes(phContext: PCtxtHandle; ulAttribute: Cardinal;
pBuffer: Pointer; cbBuffer: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM SetContextAttributes}
type
SET_CONTEXT_ATTRIBUTES_FN = SET_CONTEXT_ATTRIBUTES_FN_A;
{$EXTERNALSYM SET_CONTEXT_ATTRIBUTES_FN}
{$ENDIF}
function QueryCredentialsAttributesW(phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryCredentialsAttributesW}
type
QUERY_CREDENTIALS_ATTRIBUTES_FN_W = function (phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CREDENTIALS_ATTRIBUTES_FN_W}
function QueryCredentialsAttributesA(phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryCredentialsAttributesA}
type
QUERY_CREDENTIALS_ATTRIBUTES_FN_A = function (phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CREDENTIALS_ATTRIBUTES_FN_A}
{$IFDEF UNICODE}
function QueryCredentialsAttributes(phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryCredentialsAttributes}
type
QUERY_CREDENTIALS_ATTRIBUTES_FN = function (phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CREDENTIALS_ATTRIBUTES_FN}
{$ELSE}
function QueryCredentialsAttributes(phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QueryCredentialsAttributes}
type
QUERY_CREDENTIALS_ATTRIBUTES_FN = function (phCredential: PCredHandle;
ulAttribute: Cardinal; pBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_CREDENTIALS_ATTRIBUTES_FN}
{$ENDIF}
function FreeContextBuffer(pvContextBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM FreeContextBuffer}
type
FREE_CONTEXT_BUFFER_FN = function (pvContextBuffer: Pointer): SECURITY_STATUS; stdcall;
{$EXTERNALSYM FREE_CONTEXT_BUFFER_FN}
///////////////////////////////////////////////////////////////////
////
//// Message Support API
////
//////////////////////////////////////////////////////////////////
function MakeSignature(phContext: PCtxtHandle; fQOP: Cardinal;
pMessage: PSecBufferDesc; MessageSeqNo: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM MakeSignature}
type
MAKE_SIGNATURE_FN = function (phContext: PCtxtHandle; fQOP: Cardinal;
pMessage: PSecBufferDesc; MessageSeqNo: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM MAKE_SIGNATURE_FN}
function VerifySignature(phContext: PCtxtHandle; pMessage: PSecBufferDesc;
MessageSeqNo: Cardinal; var pfQOP: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM VerifySignature}
type
VERIFY_SIGNATURE_FN = function (phContext: PCtxtHandle; pMessage: PSecBufferDesc;
MessageSeqNo: Cardinal; var pfQOP: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM VERIFY_SIGNATURE_FN}
const
SECQOP_WRAP_NO_ENCRYPT = DWORD($80000001);
{$EXTERNALSYM SECQOP_WRAP_NO_ENCRYPT}
function EncryptMessage(phContext: PCtxtHandle; fQOP: Cardinal;
pMessage: PSecBufferDesc; MessageSeqNo: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM EncryptMessage}
type
ENCRYPT_MESSAGE_FN = function (phContext: PCtxtHandle; fQOP: Cardinal;
pMessage: PSecBufferDesc; MessageSeqNo: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ENCRYPT_MESSAGE_FN}
function DecryptMessage(phContext: PCtxtHandle; pMessage: PSecBufferDesc;
MessageSeqNo: Cardinal; var pfQOP: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM DecryptMessage}
type
DECRYPT_MESSAGE_FN = function (phContext: PCtxtHandle; pMessage: PSecBufferDesc;
MessageSeqNo: Cardinal; var pfQOP: Cardinal): SECURITY_STATUS; stdcall;
{$EXTERNALSYM DECRYPT_MESSAGE_FN}
///////////////////////////////////////////////////////////////////////////
////
//// Misc.
////
///////////////////////////////////////////////////////////////////////////
function EnumerateSecurityPackagesW(var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoW): SECURITY_STATUS; stdcall;
{$EXTERNALSYM EnumerateSecurityPackagesW}
type
ENUMERATE_SECURITY_PACKAGES_FN_W = function (var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoW): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ENUMERATE_SECURITY_PACKAGES_FN_W}
function EnumerateSecurityPackagesA(var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoA): SECURITY_STATUS; stdcall;
{$EXTERNALSYM EnumerateSecurityPackagesA}
type
ENUMERATE_SECURITY_PACKAGES_FN_A = function (var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoA): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ENUMERATE_SECURITY_PACKAGES_FN_A}
{$IFDEF UNICODE}
function EnumerateSecurityPackages(var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoW): SECURITY_STATUS; stdcall;
{$EXTERNALSYM EnumerateSecurityPackages}
type
ENUMERATE_SECURITY_PACKAGES_FN = function (var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoW): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ENUMERATE_SECURITY_PACKAGES_FN}
{$ELSE}
function EnumerateSecurityPackages(var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoA): SECURITY_STATUS; stdcall;
{$EXTERNALSYM EnumerateSecurityPackages}
type
ENUMERATE_SECURITY_PACKAGES_FN = function (var pcPackages: Cardinal;
var ppPackageInfo: PSecPkgInfoA): SECURITY_STATUS; stdcall;
{$EXTERNALSYM ENUMERATE_SECURITY_PACKAGES_FN}
{$ENDIF}
function QuerySecurityPackageInfoW(pszPackageName: PSecWChar;
var ppPackageInfo: PSecPkgInfoW): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QuerySecurityPackageInfoW}
type
QUERY_SECURITY_PACKAGE_INFO_FN_W = function (pszPackageName: PSecWChar;
var ppPackageInfo: PSecPkgInfoW): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QUERY_SECURITY_PACKAGE_INFO_FN_W}
function QuerySecurityPackageInfoA(pszPackageName: PSecChar;
var ppPackageInfo: PSecPkgInfoA): SECURITY_STATUS; stdcall;
{$EXTERNALSYM QuerySecurityPackageInfoA}
type
QUERY_SECURITY_PACKAGE_INFO_FN_A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -