📄 sspi.pas
字号:
SEC_NEGOTIATION_INFO = _SEC_NEGOTIATION_INFO;
{$EXTERNALSYM SEC_NEGOTIATION_INFO}
TSecNegotiationInfo = SEC_NEGOTIATION_INFO;
PSecNegotiationInfo = PSEC_NEGOTIATION_INFO;
//
// Data Representation Constant:
//
const
SECURITY_NATIVE_DREP = $00000010;
{$EXTERNALSYM SECURITY_NATIVE_DREP}
SECURITY_NETWORK_DREP = $00000000;
{$EXTERNALSYM SECURITY_NETWORK_DREP}
//
// Credential Use Flags
//
SECPKG_CRED_INBOUND = $00000001;
{$EXTERNALSYM SECPKG_CRED_INBOUND}
SECPKG_CRED_OUTBOUND = $00000002;
{$EXTERNALSYM SECPKG_CRED_OUTBOUND}
SECPKG_CRED_BOTH = $00000003;
{$EXTERNALSYM SECPKG_CRED_BOTH}
SECPKG_CRED_DEFAULT = $00000004;
{$EXTERNALSYM SECPKG_CRED_DEFAULT}
SECPKG_CRED_RESERVED = DWORD($F0000000);
{$EXTERNALSYM SECPKG_CRED_RESERVED}
//
// InitializeSecurityContext Requirement and return flags:
//
ISC_REQ_DELEGATE = $00000001;
{$EXTERNALSYM ISC_REQ_DELEGATE}
ISC_REQ_MUTUAL_AUTH = $00000002;
{$EXTERNALSYM ISC_REQ_MUTUAL_AUTH}
ISC_REQ_REPLAY_DETECT = $00000004;
{$EXTERNALSYM ISC_REQ_REPLAY_DETECT}
ISC_REQ_SEQUENCE_DETECT = $00000008;
{$EXTERNALSYM ISC_REQ_SEQUENCE_DETECT}
ISC_REQ_CONFIDENTIALITY = $00000010;
{$EXTERNALSYM ISC_REQ_CONFIDENTIALITY}
ISC_REQ_USE_SESSION_KEY = $00000020;
{$EXTERNALSYM ISC_REQ_USE_SESSION_KEY}
ISC_REQ_PROMPT_FOR_CREDS = $00000040;
{$EXTERNALSYM ISC_REQ_PROMPT_FOR_CREDS}
ISC_REQ_USE_SUPPLIED_CREDS = $00000080;
{$EXTERNALSYM ISC_REQ_USE_SUPPLIED_CREDS}
ISC_REQ_ALLOCATE_MEMORY = $00000100;
{$EXTERNALSYM ISC_REQ_ALLOCATE_MEMORY}
ISC_REQ_USE_DCE_STYLE = $00000200;
{$EXTERNALSYM ISC_REQ_USE_DCE_STYLE}
ISC_REQ_DATAGRAM = $00000400;
{$EXTERNALSYM ISC_REQ_DATAGRAM}
ISC_REQ_CONNECTION = $00000800;
{$EXTERNALSYM ISC_REQ_CONNECTION}
ISC_REQ_CALL_LEVEL = $00001000;
{$EXTERNALSYM ISC_REQ_CALL_LEVEL}
ISC_REQ_FRAGMENT_SUPPLIED = $00002000;
{$EXTERNALSYM ISC_REQ_FRAGMENT_SUPPLIED}
ISC_REQ_EXTENDED_ERROR = $00004000;
{$EXTERNALSYM ISC_REQ_EXTENDED_ERROR}
ISC_REQ_STREAM = $00008000;
{$EXTERNALSYM ISC_REQ_STREAM}
ISC_REQ_INTEGRITY = $00010000;
{$EXTERNALSYM ISC_REQ_INTEGRITY}
ISC_REQ_IDENTIFY = $00020000;
{$EXTERNALSYM ISC_REQ_IDENTIFY}
ISC_REQ_NULL_SESSION = $00040000;
{$EXTERNALSYM ISC_REQ_NULL_SESSION}
ISC_REQ_MANUAL_CRED_VALIDATION = $00080000;
{$EXTERNALSYM ISC_REQ_MANUAL_CRED_VALIDATION}
ISC_REQ_RESERVED1 = $00100000;
{$EXTERNALSYM ISC_REQ_RESERVED1}
ISC_REQ_FRAGMENT_TO_FIT = $00200000;
{$EXTERNALSYM ISC_REQ_FRAGMENT_TO_FIT}
ISC_RET_DELEGATE = $00000001;
{$EXTERNALSYM ISC_RET_DELEGATE}
ISC_RET_MUTUAL_AUTH = $00000002;
{$EXTERNALSYM ISC_RET_MUTUAL_AUTH}
ISC_RET_REPLAY_DETECT = $00000004;
{$EXTERNALSYM ISC_RET_REPLAY_DETECT}
ISC_RET_SEQUENCE_DETECT = $00000008;
{$EXTERNALSYM ISC_RET_SEQUENCE_DETECT}
ISC_RET_CONFIDENTIALITY = $00000010;
{$EXTERNALSYM ISC_RET_CONFIDENTIALITY}
ISC_RET_USE_SESSION_KEY = $00000020;
{$EXTERNALSYM ISC_RET_USE_SESSION_KEY}
ISC_RET_USED_COLLECTED_CREDS = $00000040;
{$EXTERNALSYM ISC_RET_USED_COLLECTED_CREDS}
ISC_RET_USED_SUPPLIED_CREDS = $00000080;
{$EXTERNALSYM ISC_RET_USED_SUPPLIED_CREDS}
ISC_RET_ALLOCATED_MEMORY = $00000100;
{$EXTERNALSYM ISC_RET_ALLOCATED_MEMORY}
ISC_RET_USED_DCE_STYLE = $00000200;
{$EXTERNALSYM ISC_RET_USED_DCE_STYLE}
ISC_RET_DATAGRAM = $00000400;
{$EXTERNALSYM ISC_RET_DATAGRAM}
ISC_RET_CONNECTION = $00000800;
{$EXTERNALSYM ISC_RET_CONNECTION}
ISC_RET_INTERMEDIATE_RETURN = $00001000;
{$EXTERNALSYM ISC_RET_INTERMEDIATE_RETURN}
ISC_RET_CALL_LEVEL = $00002000;
{$EXTERNALSYM ISC_RET_CALL_LEVEL}
ISC_RET_EXTENDED_ERROR = $00004000;
{$EXTERNALSYM ISC_RET_EXTENDED_ERROR}
ISC_RET_STREAM = $00008000;
{$EXTERNALSYM ISC_RET_STREAM}
ISC_RET_INTEGRITY = $00010000;
{$EXTERNALSYM ISC_RET_INTEGRITY}
ISC_RET_IDENTIFY = $00020000;
{$EXTERNALSYM ISC_RET_IDENTIFY}
ISC_RET_NULL_SESSION = $00040000;
{$EXTERNALSYM ISC_RET_NULL_SESSION}
ISC_RET_MANUAL_CRED_VALIDATION = $00080000;
{$EXTERNALSYM ISC_RET_MANUAL_CRED_VALIDATION}
ISC_RET_RESERVED1 = $00100000;
{$EXTERNALSYM ISC_RET_RESERVED1}
ISC_RET_FRAGMENT_ONLY = $00200000;
{$EXTERNALSYM ISC_RET_FRAGMENT_ONLY}
ASC_REQ_DELEGATE = $00000001;
{$EXTERNALSYM ASC_REQ_DELEGATE}
ASC_REQ_MUTUAL_AUTH = $00000002;
{$EXTERNALSYM ASC_REQ_MUTUAL_AUTH}
ASC_REQ_REPLAY_DETECT = $00000004;
{$EXTERNALSYM ASC_REQ_REPLAY_DETECT}
ASC_REQ_SEQUENCE_DETECT = $00000008;
{$EXTERNALSYM ASC_REQ_SEQUENCE_DETECT}
ASC_REQ_CONFIDENTIALITY = $00000010;
{$EXTERNALSYM ASC_REQ_CONFIDENTIALITY}
ASC_REQ_USE_SESSION_KEY = $00000020;
{$EXTERNALSYM ASC_REQ_USE_SESSION_KEY}
ASC_REQ_ALLOCATE_MEMORY = $00000100;
{$EXTERNALSYM ASC_REQ_ALLOCATE_MEMORY}
ASC_REQ_USE_DCE_STYLE = $00000200;
{$EXTERNALSYM ASC_REQ_USE_DCE_STYLE}
ASC_REQ_DATAGRAM = $00000400;
{$EXTERNALSYM ASC_REQ_DATAGRAM}
ASC_REQ_CONNECTION = $00000800;
{$EXTERNALSYM ASC_REQ_CONNECTION}
ASC_REQ_CALL_LEVEL = $00001000;
{$EXTERNALSYM ASC_REQ_CALL_LEVEL}
ASC_REQ_EXTENDED_ERROR = $00008000;
{$EXTERNALSYM ASC_REQ_EXTENDED_ERROR}
ASC_REQ_STREAM = $00010000;
{$EXTERNALSYM ASC_REQ_STREAM}
ASC_REQ_INTEGRITY = $00020000;
{$EXTERNALSYM ASC_REQ_INTEGRITY}
ASC_REQ_LICENSING = $00040000;
{$EXTERNALSYM ASC_REQ_LICENSING}
ASC_REQ_IDENTIFY = $00080000;
{$EXTERNALSYM ASC_REQ_IDENTIFY}
ASC_REQ_ALLOW_NULL_SESSION = $00100000;
{$EXTERNALSYM ASC_REQ_ALLOW_NULL_SESSION}
ASC_REQ_ALLOW_NON_USER_LOGONS = $00200000;
{$EXTERNALSYM ASC_REQ_ALLOW_NON_USER_LOGONS}
ASC_REQ_ALLOW_CONTEXT_REPLAY = $00400000;
{$EXTERNALSYM ASC_REQ_ALLOW_CONTEXT_REPLAY}
ASC_REQ_FRAGMENT_TO_FIT = $00800000;
{$EXTERNALSYM ASC_REQ_FRAGMENT_TO_FIT}
ASC_REQ_FRAGMENT_SUPPLIED = $00002000;
{$EXTERNALSYM ASC_REQ_FRAGMENT_SUPPLIED}
ASC_RET_DELEGATE = $00000001;
{$EXTERNALSYM ASC_RET_DELEGATE}
ASC_RET_MUTUAL_AUTH = $00000002;
{$EXTERNALSYM ASC_RET_MUTUAL_AUTH}
ASC_RET_REPLAY_DETECT = $00000004;
{$EXTERNALSYM ASC_RET_REPLAY_DETECT}
ASC_RET_SEQUENCE_DETECT = $00000008;
{$EXTERNALSYM ASC_RET_SEQUENCE_DETECT}
ASC_RET_CONFIDENTIALITY = $00000010;
{$EXTERNALSYM ASC_RET_CONFIDENTIALITY}
ASC_RET_USE_SESSION_KEY = $00000020;
{$EXTERNALSYM ASC_RET_USE_SESSION_KEY}
ASC_RET_ALLOCATED_MEMORY = $00000100;
{$EXTERNALSYM ASC_RET_ALLOCATED_MEMORY}
ASC_RET_USED_DCE_STYLE = $00000200;
{$EXTERNALSYM ASC_RET_USED_DCE_STYLE}
ASC_RET_DATAGRAM = $00000400;
{$EXTERNALSYM ASC_RET_DATAGRAM}
ASC_RET_CONNECTION = $00000800;
{$EXTERNALSYM ASC_RET_CONNECTION}
ASC_RET_CALL_LEVEL = $00002000; // skipped 1000 to be like ISC_
{$EXTERNALSYM ASC_RET_CALL_LEVEL}
ASC_RET_THIRD_LEG_FAILED = $00004000;
{$EXTERNALSYM ASC_RET_THIRD_LEG_FAILED}
ASC_RET_EXTENDED_ERROR = $00008000;
{$EXTERNALSYM ASC_RET_EXTENDED_ERROR}
ASC_RET_STREAM = $00010000;
{$EXTERNALSYM ASC_RET_STREAM}
ASC_RET_INTEGRITY = $00020000;
{$EXTERNALSYM ASC_RET_INTEGRITY}
ASC_RET_LICENSING = $00040000;
{$EXTERNALSYM ASC_RET_LICENSING}
ASC_RET_IDENTIFY = $00080000;
{$EXTERNALSYM ASC_RET_IDENTIFY}
ASC_RET_NULL_SESSION = $00100000;
{$EXTERNALSYM ASC_RET_NULL_SESSION}
ASC_RET_ALLOW_NON_USER_LOGONS = $00200000;
{$EXTERNALSYM ASC_RET_ALLOW_NON_USER_LOGONS}
ASC_RET_ALLOW_CONTEXT_REPLAY = $00400000;
{$EXTERNALSYM ASC_RET_ALLOW_CONTEXT_REPLAY}
ASC_RET_FRAGMENT_ONLY = $00800000;
{$EXTERNALSYM ASC_RET_FRAGMENT_ONLY}
//
// Security Credentials Attributes:
//
SECPKG_CRED_ATTR_NAMES = 1;
{$EXTERNALSYM SECPKG_CRED_ATTR_NAMES}
type
PSecPkgCredentials_NamesW = ^SecPkgCredentials_NamesW;
{$EXTERNALSYM PSecPkgCredentials_NamesW}
_SecPkgCredentials_NamesW = record
sUserName: PSecWChar;
end;
{$EXTERNALSYM _SecPkgCredentials_NamesW}
SecPkgCredentials_NamesW = _SecPkgCredentials_NamesW;
{$EXTERNALSYM SecPkgCredentials_NamesW}
TSecPkgCredentialsNamesW = SecPkgCredentials_NamesW;
PSecPkgCredentialsNamesW = PSecPkgCredentials_NamesW;
PSecPkgCredentials_NamesA = ^SecPkgCredentials_NamesA;
{$EXTERNALSYM PSecPkgCredentials_NamesA}
_SecPkgCredentials_NamesA = record
sUserName: PSecChar;
end;
{$EXTERNALSYM _SecPkgCredentials_NamesA}
SecPkgCredentials_NamesA = _SecPkgCredentials_NamesA;
{$EXTERNALSYM SecPkgCredentials_NamesA}
TSecPkgCredentialsNamesA = SecPkgCredentials_NamesA;
PSecPkgCredentialsNamesA = PSecPkgCredentials_NamesA;
{$IFDEF UNICODE}
SecPkgCredentials_Names = SecPkgCredentials_NamesW;
{$EXTERNALSYM SecPkgCredentials_Names}
PSecPkgCredentials_Names = PSecPkgCredentials_NamesW;
{$EXTERNALSYM PSecPkgCredentials_Names}
TSecPkgCredentialsNames = TSecPkgCredentialsNamesW;
PSecPkgCredentialsNames = PSecPkgCredentialsNamesW;
{$ELSE}
SecPkgCredentials_Names = SecPkgCredentials_NamesA;
{$EXTERNALSYM SecPkgCredentials_Names}
PSecPkgCredentials_Names = PSecPkgCredentials_NamesA;
{$EXTERNALSYM PSecPkgCredentials_Names}
TSecPkgCredentialsNames = TSecPkgCredentialsNamesA;
PSecPkgCredentialsNames = PSecPkgCredentialsNamesA;
{$ENDIF}
//
// Security Context Attributes:
//
const
SECPKG_ATTR_SIZES = 0;
{$EXTERNALSYM SECPKG_ATTR_SIZES}
SECPKG_ATTR_NAMES = 1;
{$EXTERNALSYM SECPKG_ATTR_NAMES}
SECPKG_ATTR_LIFESPAN = 2;
{$EXTERNALSYM SECPKG_ATTR_LIFESPAN}
SECPKG_ATTR_DCE_INFO = 3;
{$EXTERNALSYM SECPKG_ATTR_DCE_INFO}
SECPKG_ATTR_STREAM_SIZES = 4;
{$EXTERNALSYM SECPKG_ATTR_STREAM_SIZES}
SECPKG_ATTR_KEY_INFO = 5;
{$EXTERNALSYM SECPKG_ATTR_KEY_INFO}
SECPKG_ATTR_AUTHORITY = 6;
{$EXTERNALSYM SECPKG_ATTR_AUTHORITY}
SECPKG_ATTR_PROTO_INFO = 7;
{$EXTERNALSYM SECPKG_ATTR_PROTO_INFO}
SECPKG_ATTR_PASSWORD_EXPIRY = 8;
{$EXTERNALSYM SECPKG_ATTR_PASSWORD_EXPIRY}
SECPKG_ATTR_SESSION_KEY = 9;
{$EXTERNALSYM SECPKG_ATTR_SESSION_KEY}
SECPKG_ATTR_PACKAGE_INFO = 10;
{$EXTERNALSYM SECPKG_ATTR_PACKAGE_INFO}
SECPKG_ATTR_USER_FLAGS = 11;
{$EXTERNALSYM SECPKG_ATTR_USER_FLAGS}
SECPKG_ATTR_NEGOTIATION_INFO = 12;
{$EXTERNALSYM SECPKG_ATTR_NEGOTIATION_INFO}
SECPKG_ATTR_NATIVE_NAMES = 13;
{$EXTERNALSYM SECPKG_ATTR_NATIVE_NAMES}
SECPKG_ATTR_FLAGS = 14;
{$EXTERNALSYM SECPKG_ATTR_FLAGS}
type
PSecPkgContext_Sizes = ^SecPkgContext_Sizes;
{$EXTERNALSYM PSecPkgContext_Sizes}
_SecPkgContext_Sizes = record
cbMaxToken: Cardinal;
cbMaxSignature: Cardinal;
cbBlockSize: Cardinal;
cbSecurityTrailer: Cardinal;
end;
{$EXTERNALSYM _SecPkgContext_Sizes}
SecPkgContext_Sizes = _SecPkgContext_Sizes;
{$EXTERNALSYM SecPkgContext_Sizes}
TSecPkgContextSizes = SecPkgContext_Sizes;
PSecPkgContextSizes = PSecPkgContext_Sizes;
PSecPkgContext_StreamSizes = ^SecPkgContext_StreamSizes;
{$EXTERNALSYM PSecPkgContext_StreamSizes}
_SecPkgContext_StreamSizes = record
cbHeader: Cardinal;
cbTrailer: Cardinal;
cbMaximumMessage: Cardinal;
cBuffers: Cardinal;
cbBlockSize: Cardinal;
end;
{$EXTERNALSYM _SecPkgContext_StreamSizes}
SecPkgContext_StreamSizes = _SecPkgContext_StreamSizes;
{$EXTERNALSYM SecPkgContext_StreamSizes}
TSecPkgContextStreamSizes = SecPkgContext_StreamSizes;
PSecPkgContextStreamSizes = PSecPkgContext_StreamSizes;
PSecPkgContext_NamesW = ^SecPkgContext_NamesW;
{$EXTERNALSYM PSecPkgContext_NamesW}
_SecPkgContext_NamesW = record
sUserName: PSecWChar;
end;
{$EXTERNALSYM _SecPkgContext_NamesW}
SecPkgContext_NamesW = _SecPkgContext_NamesW;
{$EXTERNALSYM SecPkgContext_NamesW}
TSecPkgContextNamesW = SecPkgContext_NamesW;
PSecPkgContextNamesW = PSecPkgContext_NamesW;
PSecPkgContext_NamesA = ^SecPkgContext_NamesA;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -