FreeRDP
include/winpr/sspi.h File Reference
#include <winpr/platform.h>
#include <winpr/winpr.h>
#include <winpr/wtypes.h>
#include <winpr/windows.h>
#include <winpr/security.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  SECURITY_INTEGER
 
struct  SecPkgInfoA
 
struct  SecPkgInfoW
 
struct  SecPkgContext_AccessToken
 
struct  SecPkgContext_SessionAppData
 
struct  SecPkgContext_Authority
 
struct  SecPkgContext_ClientSpecifiedTarget
 
struct  SecPkgContext_ConnectionInfo
 
struct  SecPkgContext_ClientCreds
 
struct  SecPkgContex_DceInfo
 
struct  SEC_CHANNEL_BINDINGS
 
struct  SecPkgContext_EapKeyBlock
 
struct  SecPkgContext_Flags
 
struct  SecPkgContext_KeyInfo
 
struct  SecPkgContext_Lifespan
 
struct  SecPkgContext_Names
 
struct  SecPkgContext_NativeNames
 
struct  SecPkgContext_NegotiationInfo
 
struct  SecPkgContext_PackageInfo
 
struct  SecPkgContext_PasswordExpiry
 
struct  SecPkgContext_SessionKey
 
struct  SecPkgContext_SessionInfo
 
struct  SecPkgContext_Sizes
 
struct  SecPkgContext_StreamSizes
 
struct  SecPkgContext_SubjectAttributes
 
struct  SecPkgContext_SupportedSignatures
 
struct  SecPkgContext_TargetInformation
 
struct  SecPkgCredentials_NamesA
 
struct  SecPkgCredentials_NamesW
 
struct  SecPkgCredentials_SSIProviderW
 
struct  SecPkgCredentials_SSIProviderA
 
struct  PSecPkgCredentials_Cert
 
struct  SecPkgCredentials_KdcProxySettingsW
 
struct  SecPkgCredentials_KdcProxySettingsA
 
struct  SecPkgContext_Bindings
 
struct  SEC_WINNT_AUTH_IDENTITY_W
 
struct  SEC_WINNT_AUTH_IDENTITY_A
 
struct  SEC_WINNT_AUTH_IDENTITY_EXW
 
struct  SEC_WINNT_AUTH_IDENTITY_EXA
 
struct  PSEC_WINNT_AUTH_IDENTITY_EX2
 
union  PSEC_WINNT_AUTH_IDENTITY_INFO
 
struct  SecHandle
 
struct  SecBuffer
 
struct  SecBufferDesc
 
struct  SEC_WINPR_NTLM_SETTINGS
 
struct  SEC_WINPR_KERBEROS_SETTINGS
 
struct  SEC_WINNT_AUTH_IDENTITY_WINPR
 
struct  SecurityFunctionTableA
 
struct  SecurityFunctionTableW
 
struct  SecPkgContext_AuthIdentity
 
struct  SecPkgContext_AuthPassword
 
struct  SecPkgContext_AuthNtlmHash
 
struct  SecPkgContext_AuthNtlmTimestamp
 
struct  SecPkgContext_AuthNtlmClientChallenge
 
struct  SecPkgContext_AuthNtlmServerChallenge
 
struct  SecPkgContext_AuthNtlmMessage
 

Macros

#define SEC_ENTRY
 
#define __SECSTATUS_DEFINED__
 
#define SecPkgInfo   SecPkgInfoA
 
#define PSecPkgInfo   PSecPkgInfoA
 
#define NTLM_SSP_NAME   _T("NTLM")
 
#define KERBEROS_SSP_NAME   _T("Kerberos")
 
#define NEGO_SSP_NAME   _T("Negotiate")
 
#define SECPKG_ID_NONE   0xFFFF
 
#define SECPKG_FLAG_INTEGRITY   0x00000001
 
#define SECPKG_FLAG_PRIVACY   0x00000002
 
#define SECPKG_FLAG_TOKEN_ONLY   0x00000004
 
#define SECPKG_FLAG_DATAGRAM   0x00000008
 
#define SECPKG_FLAG_CONNECTION   0x00000010
 
#define SECPKG_FLAG_MULTI_REQUIRED   0x00000020
 
#define SECPKG_FLAG_CLIENT_ONLY   0x00000040
 
#define SECPKG_FLAG_EXTENDED_ERROR   0x00000080
 
#define SECPKG_FLAG_IMPERSONATION   0x00000100
 
#define SECPKG_FLAG_ACCEPT_WIN32_NAME   0x00000200
 
#define SECPKG_FLAG_STREAM   0x00000400
 
#define SECPKG_FLAG_NEGOTIABLE   0x00000800
 
#define SECPKG_FLAG_GSS_COMPATIBLE   0x00001000
 
#define SECPKG_FLAG_LOGON   0x00002000
 
#define SECPKG_FLAG_ASCII_BUFFERS   0x00004000
 
#define SECPKG_FLAG_FRAGMENT   0x00008000
 
#define SECPKG_FLAG_MUTUAL_AUTH   0x00010000
 
#define SECPKG_FLAG_DELEGATION   0x00020000
 
#define SECPKG_FLAG_READONLY_WITH_CHECKSUM   0x00040000
 
#define SECPKG_FLAG_RESTRICTED_TOKENS   0x00080000
 
#define SECPKG_FLAG_NEGO_EXTENDER   0x00100000
 
#define SECPKG_FLAG_NEGOTIABLE2   0x00200000
 
#define SEC_E_OK   (SECURITY_STATUS)0x00000000L
 
#define SEC_E_INSUFFICIENT_MEMORY   (SECURITY_STATUS)0x80090300L
 
#define SEC_E_INVALID_HANDLE   (SECURITY_STATUS)0x80090301L
 
#define SEC_E_UNSUPPORTED_FUNCTION   (SECURITY_STATUS)0x80090302L
 
#define SEC_E_TARGET_UNKNOWN   (SECURITY_STATUS)0x80090303L
 
#define SEC_E_INTERNAL_ERROR   (SECURITY_STATUS)0x80090304L
 
#define SEC_E_SECPKG_NOT_FOUND   (SECURITY_STATUS)0x80090305L
 
#define SEC_E_NOT_OWNER   (SECURITY_STATUS)0x80090306L
 
#define SEC_E_CANNOT_INSTALL   (SECURITY_STATUS)0x80090307L
 
#define SEC_E_INVALID_TOKEN   (SECURITY_STATUS)0x80090308L
 
#define SEC_E_CANNOT_PACK   (SECURITY_STATUS)0x80090309L
 
#define SEC_E_QOP_NOT_SUPPORTED   (SECURITY_STATUS)0x8009030AL
 
#define SEC_E_NO_IMPERSONATION   (SECURITY_STATUS)0x8009030BL
 
#define SEC_E_LOGON_DENIED   (SECURITY_STATUS)0x8009030CL
 
#define SEC_E_UNKNOWN_CREDENTIALS   (SECURITY_STATUS)0x8009030DL
 
#define SEC_E_NO_CREDENTIALS   (SECURITY_STATUS)0x8009030EL
 
#define SEC_E_MESSAGE_ALTERED   (SECURITY_STATUS)0x8009030FL
 
#define SEC_E_OUT_OF_SEQUENCE   (SECURITY_STATUS)0x80090310L
 
#define SEC_E_NO_AUTHENTICATING_AUTHORITY   (SECURITY_STATUS)0x80090311L
 
#define SEC_E_BAD_PKGID   (SECURITY_STATUS)0x80090316L
 
#define SEC_E_CONTEXT_EXPIRED   (SECURITY_STATUS)0x80090317L
 
#define SEC_E_INCOMPLETE_MESSAGE   (SECURITY_STATUS)0x80090318L
 
#define SEC_E_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x80090320L
 
#define SEC_E_BUFFER_TOO_SMALL   (SECURITY_STATUS)0x80090321L
 
#define SEC_E_WRONG_PRINCIPAL   (SECURITY_STATUS)0x80090322L
 
#define SEC_E_TIME_SKEW   (SECURITY_STATUS)0x80090324L
 
#define SEC_E_UNTRUSTED_ROOT   (SECURITY_STATUS)0x80090325L
 
#define SEC_E_ILLEGAL_MESSAGE   (SECURITY_STATUS)0x80090326L
 
#define SEC_E_CERT_UNKNOWN   (SECURITY_STATUS)0x80090327L
 
#define SEC_E_CERT_EXPIRED   (SECURITY_STATUS)0x80090328L
 
#define SEC_E_ENCRYPT_FAILURE   (SECURITY_STATUS)0x80090329L
 
#define SEC_E_DECRYPT_FAILURE   (SECURITY_STATUS)0x80090330L
 
#define SEC_E_ALGORITHM_MISMATCH   (SECURITY_STATUS)0x80090331L
 
#define SEC_E_SECURITY_QOS_FAILED   (SECURITY_STATUS)0x80090332L
 
#define SEC_E_UNFINISHED_CONTEXT_DELETED   (SECURITY_STATUS)0x80090333L
 
#define SEC_E_NO_TGT_REPLY   (SECURITY_STATUS)0x80090334L
 
#define SEC_E_NO_IP_ADDRESSES   (SECURITY_STATUS)0x80090335L
 
#define SEC_E_WRONG_CREDENTIAL_HANDLE   (SECURITY_STATUS)0x80090336L
 
#define SEC_E_CRYPTO_SYSTEM_INVALID   (SECURITY_STATUS)0x80090337L
 
#define SEC_E_MAX_REFERRALS_EXCEEDED   (SECURITY_STATUS)0x80090338L
 
#define SEC_E_MUST_BE_KDC   (SECURITY_STATUS)0x80090339L
 
#define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED   (SECURITY_STATUS)0x8009033AL
 
#define SEC_E_TOO_MANY_PRINCIPALS   (SECURITY_STATUS)0x8009033BL
 
#define SEC_E_NO_PA_DATA   (SECURITY_STATUS)0x8009033CL
 
#define SEC_E_PKINIT_NAME_MISMATCH   (SECURITY_STATUS)0x8009033DL
 
#define SEC_E_SMARTCARD_LOGON_REQUIRED   (SECURITY_STATUS)0x8009033EL
 
#define SEC_E_SHUTDOWN_IN_PROGRESS   (SECURITY_STATUS)0x8009033FL
 
#define SEC_E_KDC_INVALID_REQUEST   (SECURITY_STATUS)0x80090340L
 
#define SEC_E_KDC_UNABLE_TO_REFER   (SECURITY_STATUS)0x80090341L
 
#define SEC_E_KDC_UNKNOWN_ETYPE   (SECURITY_STATUS)0x80090342L
 
#define SEC_E_UNSUPPORTED_PREAUTH   (SECURITY_STATUS)0x80090343L
 
#define SEC_E_DELEGATION_REQUIRED   (SECURITY_STATUS)0x80090345L
 
#define SEC_E_BAD_BINDINGS   (SECURITY_STATUS)0x80090346L
 
#define SEC_E_MULTIPLE_ACCOUNTS   (SECURITY_STATUS)0x80090347L
 
#define SEC_E_NO_KERB_KEY   (SECURITY_STATUS)0x80090348L
 
#define SEC_E_CERT_WRONG_USAGE   (SECURITY_STATUS)0x80090349L
 
#define SEC_E_DOWNGRADE_DETECTED   (SECURITY_STATUS)0x80090350L
 
#define SEC_E_SMARTCARD_CERT_REVOKED   (SECURITY_STATUS)0x80090351L
 
#define SEC_E_ISSUING_CA_UNTRUSTED   (SECURITY_STATUS)0x80090352L
 
#define SEC_E_REVOCATION_OFFLINE_C   (SECURITY_STATUS)0x80090353L
 
#define SEC_E_PKINIT_CLIENT_FAILURE   (SECURITY_STATUS)0x80090354L
 
#define SEC_E_SMARTCARD_CERT_EXPIRED   (SECURITY_STATUS)0x80090355L
 
#define SEC_E_NO_S4U_PROT_SUPPORT   (SECURITY_STATUS)0x80090356L
 
#define SEC_E_CROSSREALM_DELEGATION_FAILURE   (SECURITY_STATUS)0x80090357L
 
#define SEC_E_REVOCATION_OFFLINE_KDC   (SECURITY_STATUS)0x80090358L
 
#define SEC_E_ISSUING_CA_UNTRUSTED_KDC   (SECURITY_STATUS)0x80090359L
 
#define SEC_E_KDC_CERT_EXPIRED   (SECURITY_STATUS)0x8009035AL
 
#define SEC_E_KDC_CERT_REVOKED   (SECURITY_STATUS)0x8009035BL
 
#define SEC_E_INVALID_PARAMETER   (SECURITY_STATUS)0x8009035DL
 
#define SEC_E_DELEGATION_POLICY   (SECURITY_STATUS)0x8009035EL
 
#define SEC_E_POLICY_NLTM_ONLY   (SECURITY_STATUS)0x8009035FL
 
#define SEC_E_NO_CONTEXT   (SECURITY_STATUS)0x80090361L
 
#define SEC_E_PKU2U_CERT_FAILURE   (SECURITY_STATUS)0x80090362L
 
#define SEC_E_MUTUAL_AUTH_FAILED   (SECURITY_STATUS)0x80090363L
 
#define SEC_I_CONTINUE_NEEDED   (SECURITY_STATUS)0x00090312L
 
#define SEC_I_COMPLETE_NEEDED   (SECURITY_STATUS)0x00090313L
 
#define SEC_I_COMPLETE_AND_CONTINUE   (SECURITY_STATUS)0x00090314L
 
#define SEC_I_LOCAL_LOGON   (SECURITY_STATUS)0x00090315L
 
#define SEC_I_CONTEXT_EXPIRED   (SECURITY_STATUS)0x00090317L
 
#define SEC_I_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x00090320L
 
#define SEC_I_RENEGOTIATE   (SECURITY_STATUS)0x00090321L
 
#define SEC_I_NO_LSA_CONTEXT   (SECURITY_STATUS)0x00090323L
 
#define SEC_I_SIGNATURE_NEEDED   (SECURITY_STATUS)0x0009035CL
 
#define SEC_I_NO_RENEGOTIATION   (SECURITY_STATUS)0x00090360L
 
#define SECURITY_NATIVE_DREP   0x00000010
 
#define SECURITY_NETWORK_DREP   0x00000000
 
#define SECPKG_CRED_INBOUND   0x00000001
 
#define SECPKG_CRED_OUTBOUND   0x00000002
 
#define SECPKG_CRED_BOTH   0x00000003
 
#define SECPKG_CRED_AUTOLOGON_RESTRICTED   0x00000010
 
#define SECPKG_CRED_PROCESS_POLICY_ONLY   0x00000020
 
#define SECPKG_ATTR_SIZES   0
 
#define SECPKG_ATTR_NAMES   1
 
#define SECPKG_ATTR_LIFESPAN   2
 
#define SECPKG_ATTR_DCE_INFO   3
 
#define SECPKG_ATTR_STREAM_SIZES   4
 
#define SECPKG_ATTR_KEY_INFO   5
 
#define SECPKG_ATTR_AUTHORITY   6
 
#define SECPKG_ATTR_PROTO_INFO   7
 
#define SECPKG_ATTR_PASSWORD_EXPIRY   8
 
#define SECPKG_ATTR_SESSION_KEY   9
 
#define SECPKG_ATTR_PACKAGE_INFO   10
 
#define SECPKG_ATTR_USER_FLAGS   11
 
#define SECPKG_ATTR_NEGOTIATION_INFO   12
 
#define SECPKG_ATTR_NATIVE_NAMES   13
 
#define SECPKG_ATTR_FLAGS   14
 
#define SECPKG_ATTR_USE_VALIDATED   15
 
#define SECPKG_ATTR_CREDENTIAL_NAME   16
 
#define SECPKG_ATTR_TARGET_INFORMATION   17
 
#define SECPKG_ATTR_ACCESS_TOKEN   18
 
#define SECPKG_ATTR_TARGET   19
 
#define SECPKG_ATTR_AUTHENTICATION_ID   20
 
#define SECPKG_ATTR_LOGOFF_TIME   21
 
#define SECPKG_ATTR_NEGO_KEYS   22
 
#define SECPKG_ATTR_PROMPTING_NEEDED   24
 
#define SECPKG_ATTR_UNIQUE_BINDINGS   25
 
#define SECPKG_ATTR_ENDPOINT_BINDINGS   26
 
#define SECPKG_ATTR_CLIENT_SPECIFIED_TARGET   27
 
#define SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS   30
 
#define SECPKG_ATTR_NEGO_PKG_INFO   31
 
#define SECPKG_ATTR_NEGO_STATUS   32
 
#define SECPKG_ATTR_CONTEXT_DELETED   33
 
#define SECPKG_CRED_ATTR_NAMES   1
 
#define SECPKG_CRED_ATTR_SSI_PROVIDER   2
 
#define SECPKG_CRED_ATTR_CERT   4
 
#define SECPKG_CRED_ATTR_PAC_BYPASS   5
 
#define SecPkgCredentials_Names   SecPkgCredentials_NamesA
 
#define PSecPkgCredentials_Names   PSecPkgCredentials_NamesA
 
#define SecPkgCredentials_SSIProvider   SecPkgCredentials_SSIProviderA
 
#define PSecPkgCredentials_SSIProvider   PSecPkgCredentials_SSIProviderA
 
#define SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS   3
 
#define KDC_PROXY_SETTINGS_V1   1
 
#define KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY   0x1
 
#define SecPkgCredentials_KdcProxySettings   SecPkgCredentials_KdcProxySettingsA
 
#define PSecPkgCredentials_KdcProxySettings   SecPkgCredentials_KdcProxySettingsA
 
#define ISC_REQ_DELEGATE   0x00000001
 
#define ISC_REQ_MUTUAL_AUTH   0x00000002
 
#define ISC_REQ_REPLAY_DETECT   0x00000004
 
#define ISC_REQ_SEQUENCE_DETECT   0x00000008
 
#define ISC_REQ_CONFIDENTIALITY   0x00000010
 
#define ISC_REQ_USE_SESSION_KEY   0x00000020
 
#define ISC_REQ_PROMPT_FOR_CREDS   0x00000040
 
#define ISC_REQ_USE_SUPPLIED_CREDS   0x00000080
 
#define ISC_REQ_ALLOCATE_MEMORY   0x00000100
 
#define ISC_REQ_USE_DCE_STYLE   0x00000200
 
#define ISC_REQ_DATAGRAM   0x00000400
 
#define ISC_REQ_CONNECTION   0x00000800
 
#define ISC_REQ_CALL_LEVEL   0x00001000
 
#define ISC_REQ_FRAGMENT_SUPPLIED   0x00002000
 
#define ISC_REQ_EXTENDED_ERROR   0x00004000
 
#define ISC_REQ_STREAM   0x00008000
 
#define ISC_REQ_INTEGRITY   0x00010000
 
#define ISC_REQ_IDENTIFY   0x00020000
 
#define ISC_REQ_NULL_SESSION   0x00040000
 
#define ISC_REQ_MANUAL_CRED_VALIDATION   0x00080000
 
#define ISC_REQ_RESERVED1   0x00100000
 
#define ISC_REQ_FRAGMENT_TO_FIT   0x00200000
 
#define ISC_REQ_FORWARD_CREDENTIALS   0x00400000
 
#define ISC_REQ_NO_INTEGRITY   0x00800000
 
#define ISC_REQ_USE_HTTP_STYLE   0x01000000
 
#define ISC_RET_DELEGATE   0x00000001
 
#define ISC_RET_MUTUAL_AUTH   0x00000002
 
#define ISC_RET_REPLAY_DETECT   0x00000004
 
#define ISC_RET_SEQUENCE_DETECT   0x00000008
 
#define ISC_RET_CONFIDENTIALITY   0x00000010
 
#define ISC_RET_USE_SESSION_KEY   0x00000020
 
#define ISC_RET_USED_COLLECTED_CREDS   0x00000040
 
#define ISC_RET_USED_SUPPLIED_CREDS   0x00000080
 
#define ISC_RET_ALLOCATED_MEMORY   0x00000100
 
#define ISC_RET_USED_DCE_STYLE   0x00000200
 
#define ISC_RET_DATAGRAM   0x00000400
 
#define ISC_RET_CONNECTION   0x00000800
 
#define ISC_RET_INTERMEDIATE_RETURN   0x00001000
 
#define ISC_RET_CALL_LEVEL   0x00002000
 
#define ISC_RET_EXTENDED_ERROR   0x00004000
 
#define ISC_RET_STREAM   0x00008000
 
#define ISC_RET_INTEGRITY   0x00010000
 
#define ISC_RET_IDENTIFY   0x00020000
 
#define ISC_RET_NULL_SESSION   0x00040000
 
#define ISC_RET_MANUAL_CRED_VALIDATION   0x00080000
 
#define ISC_RET_RESERVED1   0x00100000
 
#define ISC_RET_FRAGMENT_ONLY   0x00200000
 
#define ISC_RET_FORWARD_CREDENTIALS   0x00400000
 
#define ISC_RET_USED_HTTP_STYLE   0x01000000
 
#define ASC_REQ_DELEGATE   0x00000001
 
#define ASC_REQ_MUTUAL_AUTH   0x00000002
 
#define ASC_REQ_REPLAY_DETECT   0x00000004
 
#define ASC_REQ_SEQUENCE_DETECT   0x00000008
 
#define ASC_REQ_CONFIDENTIALITY   0x00000010
 
#define ASC_REQ_USE_SESSION_KEY   0x00000020
 
#define ASC_REQ_ALLOCATE_MEMORY   0x00000100
 
#define ASC_REQ_USE_DCE_STYLE   0x00000200
 
#define ASC_REQ_DATAGRAM   0x00000400
 
#define ASC_REQ_CONNECTION   0x00000800
 
#define ASC_REQ_CALL_LEVEL   0x00001000
 
#define ASC_REQ_EXTENDED_ERROR   0x00008000
 
#define ASC_REQ_STREAM   0x00010000
 
#define ASC_REQ_INTEGRITY   0x00020000
 
#define ASC_REQ_LICENSING   0x00040000
 
#define ASC_REQ_IDENTIFY   0x00080000
 
#define ASC_REQ_ALLOW_NULL_SESSION   0x00100000
 
#define ASC_REQ_ALLOW_NON_USER_LOGONS   0x00200000
 
#define ASC_REQ_ALLOW_CONTEXT_REPLAY   0x00400000
 
#define ASC_REQ_FRAGMENT_TO_FIT   0x00800000
 
#define ASC_REQ_FRAGMENT_SUPPLIED   0x00002000
 
#define ASC_REQ_NO_TOKEN   0x01000000
 
#define ASC_REQ_PROXY_BINDINGS   0x04000000
 
#define ASC_REQ_ALLOW_MISSING_BINDINGS   0x10000000
 
#define ASC_RET_DELEGATE   0x00000001
 
#define ASC_RET_MUTUAL_AUTH   0x00000002
 
#define ASC_RET_REPLAY_DETECT   0x00000004
 
#define ASC_RET_SEQUENCE_DETECT   0x00000008
 
#define ASC_RET_CONFIDENTIALITY   0x00000010
 
#define ASC_RET_USE_SESSION_KEY   0x00000020
 
#define ASC_RET_ALLOCATED_MEMORY   0x00000100
 
#define ASC_RET_USED_DCE_STYLE   0x00000200
 
#define ASC_RET_DATAGRAM   0x00000400
 
#define ASC_RET_CONNECTION   0x00000800
 
#define ASC_RET_CALL_LEVEL   0x00002000
 
#define ASC_RET_THIRD_LEG_FAILED   0x00004000
 
#define ASC_RET_EXTENDED_ERROR   0x00008000
 
#define ASC_RET_STREAM   0x00010000
 
#define ASC_RET_INTEGRITY   0x00020000
 
#define ASC_RET_LICENSING   0x00040000
 
#define ASC_RET_IDENTIFY   0x00080000
 
#define ASC_RET_NULL_SESSION   0x00100000
 
#define ASC_RET_ALLOW_NON_USER_LOGONS   0x00200000
 
#define ASC_RET_FRAGMENT_ONLY   0x00800000
 
#define ASC_RET_NO_TOKEN   0x01000000
 
#define ASC_RET_NO_PROXY_BINDINGS   0x04000000
 
#define ASC_RET_MISSING_BINDINGS   0x10000000
 
#define SEC_WINNT_AUTH_IDENTITY_ANSI   0x1
 
#define SEC_WINNT_AUTH_IDENTITY_UNICODE   0x2
 
#define SEC_WINNT_AUTH_IDENTITY_MARSHALLED   0x4
 
#define SEC_WINNT_AUTH_IDENTITY_ONLY   0x8
 
#define SEC_WINNT_AUTH_IDENTITY_EXTENDED   0x100
 
#define _AUTH_IDENTITY_DEFINED
 
#define SEC_WINNT_AUTH_IDENTITY   SEC_WINNT_AUTH_IDENTITY_W
 
#define PSEC_WINNT_AUTH_IDENTITY   PSEC_WINNT_AUTH_IDENTITY_W
 
#define SEC_WINNT_AUTH_IDENTITY_VERSION   0x200
 
#define SEC_WINNT_AUTH_IDENTITY_EX   SEC_WINNT_AUTH_IDENTITY_EXA
 
#define PSEC_WINNT_AUTH_IDENTITY_EX   PSEC_WINNT_AUTH_IDENTITY_EXA
 
#define SEC_WINNT_AUTH_IDENTITY_VERSION_2   0x201
 
#define _AUTH_IDENTITY_INFO_DEFINED
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_PROCESS_ENCRYPTED   0x10
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_PROTECTED   0x20
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_USER_PROTECTED   0x40
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_ENCRYPTED   0x80
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_RESERVED   0x10000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_USER   0x20000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_DOMAIN   0x40000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER   0x80000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_USE_MASK   0xFF000000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE   0x80000000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED   0x40000000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX   0x20000000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD   0x10000000
 
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_VALID_SSPIPFC_FLAGS
 
#define SecInvalidateHandle(x)    ((PSecHandle)(x))->dwLower = ((PSecHandle)(x))->dwUpper = ((ULONG_PTR)((INT_PTR)-1))
 
#define SecIsValidHandle(x)
 
#define SECBUFFER_VERSION   0
 
#define SECBUFFER_EMPTY   0
 
#define SECBUFFER_DATA   1
 
#define SECBUFFER_TOKEN   2
 
#define SECBUFFER_PKG_PARAMS   3
 
#define SECBUFFER_MISSING   4
 
#define SECBUFFER_EXTRA   5
 
#define SECBUFFER_STREAM_TRAILER   6
 
#define SECBUFFER_STREAM_HEADER   7
 
#define SECBUFFER_NEGOTIATION_INFO   8
 
#define SECBUFFER_PADDING   9
 
#define SECBUFFER_STREAM   10
 
#define SECBUFFER_MECHLIST   11
 
#define SECBUFFER_MECHLIST_SIGNATURE   12
 
#define SECBUFFER_TARGET   13
 
#define SECBUFFER_CHANNEL_BINDINGS   14
 
#define SECBUFFER_CHANGE_PASS_RESPONSE   15
 
#define SECBUFFER_TARGET_HOST   16
 
#define SECBUFFER_ALERT   17
 
#define SECBUFFER_ATTRMASK   0xF0000000
 
#define SECBUFFER_READONLY   0x80000000
 
#define SECBUFFER_READONLY_WITH_CHECKSUM   0x10000000
 
#define SECBUFFER_RESERVED   0x60000000
 
#define EnumerateSecurityPackages   EnumerateSecurityPackagesA
 
#define ENUMERATE_SECURITY_PACKAGES_FN   ENUMERATE_SECURITY_PACKAGES_FN_A
 
#define QueryCredentialsAttributes   QueryCredentialsAttributesA
 
#define QUERY_CREDENTIALS_ATTRIBUTES_FN   QUERY_CREDENTIALS_ATTRIBUTES_FN_A
 
#define AcquireCredentialsHandle   AcquireCredentialsHandleA
 
#define ACQUIRE_CREDENTIALS_HANDLE_FN   ACQUIRE_CREDENTIALS_HANDLE_FN_A
 
#define InitializeSecurityContext   InitializeSecurityContextA
 
#define INITIALIZE_SECURITY_CONTEXT_FN   INITIALIZE_SECURITY_CONTEXT_FN_A
 
#define QueryContextAttributes   QueryContextAttributesA
 
#define QUERY_CONTEXT_ATTRIBUTES_FN   QUERY_CONTEXT_ATTRIBUTES_FN_A
 
#define QuerySecurityPackageInfo   QuerySecurityPackageInfoA
 
#define QUERY_SECURITY_PACKAGE_INFO_FN   QUERY_SECURITY_PACKAGE_INFO_FN_A
 
#define ImportSecurityContext   ImportSecurityContextA
 
#define IMPORT_SECURITY_CONTEXT_FN   IMPORT_SECURITY_CONTEXT_FN_A
 
#define AddCredentials   AddCredentialsA
 
#define ADD_CREDENTIALS_FN   ADD_CREDENTIALS_FN_A
 
#define SetContextAttributes   SetContextAttributesA
 
#define SET_CONTEXT_ATTRIBUTES_FN   SET_CONTEXT_ATTRIBUTES_FN_A
 
#define SetCredentialsAttributes   SetCredentialsAttributesA
 
#define SET_CREDENTIALS_ATTRIBUTES_FN   SET_CREDENTIALS_ATTRIBUTES_FN_A
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION    1 /* Interface has all routines through DecryptMessage */
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2    2 /* Interface has all routines through SetContextAttributes */
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3    3 /* Interface has all routines through SetCredentialsAttributes */
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4    4 /* Interface has all routines through ChangeAccountPassword */
 
#define InitSecurityInterface   InitSecurityInterfaceA
 
#define SecurityFunctionTable   SecurityFunctionTableA
 
#define PSecurityFunctionTable   PSecurityFunctionTableA
 
#define INIT_SECURITY_INTERFACE   INIT_SECURITY_INTERFACE_A
 
#define SECPKG_ATTR_AUTH_IDENTITY   1001
 
#define SECPKG_ATTR_AUTH_PASSWORD   1002
 
#define SECPKG_ATTR_AUTH_NTLM_HASH   1003
 
#define SECPKG_ATTR_AUTH_NTLM_MESSAGE   1100
 
#define SECPKG_ATTR_AUTH_NTLM_TIMESTAMP   1101
 
#define SECPKG_ATTR_AUTH_NTLM_CLIENT_CHALLENGE   1102
 
#define SECPKG_ATTR_AUTH_NTLM_SERVER_CHALLENGE   1103
 
#define SECPKG_ATTR_AUTH_NTLM_NTPROOF_VALUE   1104
 
#define SECPKG_ATTR_AUTH_NTLM_RANDKEY   1105
 
#define SECPKG_ATTR_AUTH_NTLM_MIC   1106
 
#define SECPKG_ATTR_AUTH_NTLM_MIC_VALUE   1107
 
#define SSPI_INTERFACE_WINPR   0x00000001
 
#define SSPI_INTERFACE_NATIVE   0x00000002
 
#define sspi_SetAuthIdentity   sspi_SetAuthIdentityA
 
#define InitSecurityInterfaceEx   InitSecurityInterfaceExA
 
#define INIT_SECURITY_INTERFACE_EX   INIT_SECURITY_INTERFACE_EX_A
 

Typedefs

typedef CHAR SEC_CHAR
 
typedef WCHAR SEC_WCHAR
 
typedef SECURITY_INTEGER TimeStamp
 
typedef SECURITY_INTEGERPTimeStamp
 
typedef SecPkgInfoAPSecPkgInfoA
 
typedef SecPkgInfoWPSecPkgInfoW
 
typedef UINT32 ALG_ID
 
typedef SecPkgCredentials_NamesAPSecPkgCredentials_NamesA
 
typedef SecPkgCredentials_NamesWPSecPkgCredentials_NamesW
 
typedef struct SecPkgCredentials_SSIProviderWPSecPkgCredentials_SSIProviderW
 
typedef struct SecPkgCredentials_SSIProviderAPSecPkgCredentials_SSIProviderA
 
typedef struct SecPkgCredentials_KdcProxySettingsWPSecPkgCredentials_KdcProxySettingsW
 
typedef struct SecPkgCredentials_KdcProxySettingsAPSecPkgCredentials_KdcProxySettingsA
 
typedef struct SEC_WINNT_AUTH_IDENTITY_WPSEC_WINNT_AUTH_IDENTITY_W
 
typedef struct SEC_WINNT_AUTH_IDENTITY_APSEC_WINNT_AUTH_IDENTITY_A
 
typedef struct SEC_WINNT_AUTH_IDENTITY_EXWPSEC_WINNT_AUTH_IDENTITY_EXW
 
typedef struct SEC_WINNT_AUTH_IDENTITY_EXAPSEC_WINNT_AUTH_IDENTITY_EXA
 
typedef SecHandlePSecHandle
 
typedef SecHandle CredHandle
 
typedef CredHandlePCredHandle
 
typedef SecHandle CtxtHandle
 
typedef CtxtHandlePCtxtHandle
 
typedef SecBufferPSecBuffer
 
typedef SecBufferDescPSecBufferDesc
 
typedef SECURITY_STATUS(* psSspiNtlmHashCallback) (void *client, const SEC_WINNT_AUTH_IDENTITY *authIdentity, const SecBuffer *ntproofvalue, const BYTE *randkey, const BYTE *mic, const SecBuffer *micvalue, BYTE *ntlmhash)
 
typedef void(SEC_ENTRYSEC_GET_KEY_FN) (void *Arg, void *Principal, UINT32 KeyVer, void **Key, SECURITY_STATUS *pStatus)
 
typedef SECURITY_STATUS(SEC_ENTRYENUMERATE_SECURITY_PACKAGES_FN_A) (ULONG *pcPackages, PSecPkgInfoA *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYENUMERATE_SECURITY_PACKAGES_FN_W) (ULONG *pcPackages, PSecPkgInfoW *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CREDENTIALS_ATTRIBUTES_FN_A) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CREDENTIALS_ATTRIBUTES_FN_W) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYACQUIRE_CREDENTIALS_HANDLE_FN_A) (LPSTR pszPrincipal, LPSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYACQUIRE_CREDENTIALS_HANDLE_FN_W) (LPWSTR pszPrincipal, LPWSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYFREE_CREDENTIALS_HANDLE_FN) (PCredHandle phCredential)
 
typedef SECURITY_STATUS(SEC_ENTRYINITIALIZE_SECURITY_CONTEXT_FN_A) (PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYINITIALIZE_SECURITY_CONTEXT_FN_W) (PCredHandle phCredential, PCtxtHandle phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYACCEPT_SECURITY_CONTEXT_FN) (PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput, ULONG fContextReq, ULONG TargetDataRep, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsTimeStamp)
 
typedef SECURITY_STATUS(SEC_ENTRYCOMPLETE_AUTH_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pToken)
 
typedef SECURITY_STATUS(SEC_ENTRYDELETE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYAPPLY_CONTROL_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pInput)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYIMPERSONATE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYREVERT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYMAKE_SIGNATURE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
 
typedef SECURITY_STATUS(SEC_ENTRYVERIFY_SIGNATURE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
typedef SECURITY_STATUS(SEC_ENTRYFREE_CONTEXT_BUFFER_FN) (void *pvContextBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_SECURITY_PACKAGE_INFO_FN_A) (SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_SECURITY_PACKAGE_INFO_FN_W) (SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYEXPORT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext, ULONG fFlags, PSecBuffer pPackedContext, HANDLE *pToken)
 
typedef SECURITY_STATUS(SEC_ENTRYIMPORT_SECURITY_CONTEXT_FN_A) (SEC_CHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYIMPORT_SECURITY_CONTEXT_FN_W) (SEC_WCHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYADD_CREDENTIALS_FN_A) (PCredHandle hCredentials, SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYADD_CREDENTIALS_FN_W) (PCredHandle hCredentials, SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_SECURITY_CONTEXT_TOKEN_FN) (PCtxtHandle phContext, HANDLE *phToken)
 
typedef SECURITY_STATUS(SEC_ENTRYENCRYPT_MESSAGE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
 
typedef SECURITY_STATUS(SEC_ENTRYDECRYPT_MESSAGE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
typedef SECURITY_STATUS(SEC_ENTRYSET_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYSET_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYSET_CREDENTIALS_ATTRIBUTES_FN_A) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYSET_CREDENTIALS_ATTRIBUTES_FN_W) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
typedef SecurityFunctionTableAPSecurityFunctionTableA
 
typedef SecurityFunctionTableWPSecurityFunctionTableW
 
typedef PSecurityFunctionTableA(SEC_ENTRYINIT_SECURITY_INTERFACE_A) (void)
 
typedef PSecurityFunctionTableW(SEC_ENTRYINIT_SECURITY_INTERFACE_W) (void)
 
typedef PSecurityFunctionTableA(SEC_ENTRYINIT_SECURITY_INTERFACE_EX_A) (DWORD flags)
 
typedef PSecurityFunctionTableW(SEC_ENTRYINIT_SECURITY_INTERFACE_EX_W) (DWORD flags)
 

Functions

WINPR_API void sspi_GlobalInit (void)
 
WINPR_API void sspi_GlobalFinish (void)
 
WINPR_API void * sspi_SecBufferAlloc (PSecBuffer SecBuffer, ULONG size)
 
WINPR_API void sspi_SecBufferFree (PSecBuffer SecBuffer)
 
WINPR_API int sspi_SetAuthIdentityA (SEC_WINNT_AUTH_IDENTITY *identity, const char *user, const char *domain, const char *password)
 
WINPR_API int sspi_SetAuthIdentityW (SEC_WINNT_AUTH_IDENTITY *identity, const WCHAR *user, const WCHAR *domain, const WCHAR *password)
 
WINPR_API int sspi_SetAuthIdentityWithLengthW (SEC_WINNT_AUTH_IDENTITY *identity, const WCHAR *user, size_t userLen, const WCHAR *domain, size_t domainLen, const WCHAR *password, size_t passwordLen)
 
WINPR_API UINT32 sspi_GetAuthIdentityVersion (const void *identity)
 
WINPR_API UINT32 sspi_GetAuthIdentityFlags (const void *identity)
 
WINPR_API BOOL sspi_GetAuthIdentityUserDomainW (const void *identity, const WCHAR **pUser, UINT32 *pUserLength, const WCHAR **pDomain, UINT32 *pDomainLength)
 
WINPR_API BOOL sspi_GetAuthIdentityUserDomainA (const void *identity, const char **pUser, UINT32 *pUserLength, const char **pDomain, UINT32 *pDomainLength)
 
WINPR_API BOOL sspi_GetAuthIdentityPasswordW (const void *identity, const WCHAR **pPassword, UINT32 *pPasswordLength)
 
WINPR_API BOOL sspi_GetAuthIdentityPasswordA (const void *identity, const char **pPassword, UINT32 *pPasswordLength)
 
WINPR_API BOOL sspi_CopyAuthIdentityFieldsA (const SEC_WINNT_AUTH_IDENTITY_INFO *identity, char **pUser, char **pDomain, char **pPassword)
 
WINPR_API BOOL sspi_CopyAuthIdentityFieldsW (const SEC_WINNT_AUTH_IDENTITY_INFO *identity, WCHAR **pUser, WCHAR **pDomain, WCHAR **pPassword)
 
WINPR_API BOOL sspi_CopyAuthPackageListA (const SEC_WINNT_AUTH_IDENTITY_INFO *identity, char **pPackageList)
 
WINPR_API int sspi_CopyAuthIdentity (SEC_WINNT_AUTH_IDENTITY *identity, const SEC_WINNT_AUTH_IDENTITY_INFO *srcIdentity)
 
WINPR_API void sspi_FreeAuthIdentity (SEC_WINNT_AUTH_IDENTITY *identity)
 
WINPR_API const char * GetSecurityStatusString (SECURITY_STATUS status)
 
WINPR_API SecurityFunctionTableW *SEC_ENTRY InitSecurityInterfaceExW (DWORD flags)
 
WINPR_API SecurityFunctionTableA *SEC_ENTRY InitSecurityInterfaceExA (DWORD flags)
 

Variables

WINPR_PRAGMA_DIAG_PUSH WINPR_PRAGMA_DIAG_IGNORED_RESERVED_ID_MACRO typedef LONG SECURITY_STATUS
 

Macro Definition Documentation

◆ __SECSTATUS_DEFINED__

#define __SECSTATUS_DEFINED__

◆ _AUTH_IDENTITY_DEFINED

#define _AUTH_IDENTITY_DEFINED

◆ _AUTH_IDENTITY_INFO_DEFINED

#define _AUTH_IDENTITY_INFO_DEFINED

◆ ACQUIRE_CREDENTIALS_HANDLE_FN

#define ACQUIRE_CREDENTIALS_HANDLE_FN   ACQUIRE_CREDENTIALS_HANDLE_FN_A

◆ AcquireCredentialsHandle

#define AcquireCredentialsHandle   AcquireCredentialsHandleA

◆ ADD_CREDENTIALS_FN

#define ADD_CREDENTIALS_FN   ADD_CREDENTIALS_FN_A

◆ AddCredentials

#define AddCredentials   AddCredentialsA

◆ ASC_REQ_ALLOCATE_MEMORY

#define ASC_REQ_ALLOCATE_MEMORY   0x00000100

◆ ASC_REQ_ALLOW_CONTEXT_REPLAY

#define ASC_REQ_ALLOW_CONTEXT_REPLAY   0x00400000

◆ ASC_REQ_ALLOW_MISSING_BINDINGS

#define ASC_REQ_ALLOW_MISSING_BINDINGS   0x10000000

◆ ASC_REQ_ALLOW_NON_USER_LOGONS

#define ASC_REQ_ALLOW_NON_USER_LOGONS   0x00200000

◆ ASC_REQ_ALLOW_NULL_SESSION

#define ASC_REQ_ALLOW_NULL_SESSION   0x00100000

◆ ASC_REQ_CALL_LEVEL

#define ASC_REQ_CALL_LEVEL   0x00001000

◆ ASC_REQ_CONFIDENTIALITY

#define ASC_REQ_CONFIDENTIALITY   0x00000010

◆ ASC_REQ_CONNECTION

#define ASC_REQ_CONNECTION   0x00000800

◆ ASC_REQ_DATAGRAM

#define ASC_REQ_DATAGRAM   0x00000400

◆ ASC_REQ_DELEGATE

#define ASC_REQ_DELEGATE   0x00000001

◆ ASC_REQ_EXTENDED_ERROR

#define ASC_REQ_EXTENDED_ERROR   0x00008000

◆ ASC_REQ_FRAGMENT_SUPPLIED

#define ASC_REQ_FRAGMENT_SUPPLIED   0x00002000

◆ ASC_REQ_FRAGMENT_TO_FIT

#define ASC_REQ_FRAGMENT_TO_FIT   0x00800000

◆ ASC_REQ_IDENTIFY

#define ASC_REQ_IDENTIFY   0x00080000

◆ ASC_REQ_INTEGRITY

#define ASC_REQ_INTEGRITY   0x00020000

◆ ASC_REQ_LICENSING

#define ASC_REQ_LICENSING   0x00040000

◆ ASC_REQ_MUTUAL_AUTH

#define ASC_REQ_MUTUAL_AUTH   0x00000002

◆ ASC_REQ_NO_TOKEN

#define ASC_REQ_NO_TOKEN   0x01000000

◆ ASC_REQ_PROXY_BINDINGS

#define ASC_REQ_PROXY_BINDINGS   0x04000000

◆ ASC_REQ_REPLAY_DETECT

#define ASC_REQ_REPLAY_DETECT   0x00000004

◆ ASC_REQ_SEQUENCE_DETECT

#define ASC_REQ_SEQUENCE_DETECT   0x00000008

◆ ASC_REQ_STREAM

#define ASC_REQ_STREAM   0x00010000

◆ ASC_REQ_USE_DCE_STYLE

#define ASC_REQ_USE_DCE_STYLE   0x00000200

◆ ASC_REQ_USE_SESSION_KEY

#define ASC_REQ_USE_SESSION_KEY   0x00000020

◆ ASC_RET_ALLOCATED_MEMORY

#define ASC_RET_ALLOCATED_MEMORY   0x00000100

◆ ASC_RET_ALLOW_NON_USER_LOGONS

#define ASC_RET_ALLOW_NON_USER_LOGONS   0x00200000

◆ ASC_RET_CALL_LEVEL

#define ASC_RET_CALL_LEVEL   0x00002000

◆ ASC_RET_CONFIDENTIALITY

#define ASC_RET_CONFIDENTIALITY   0x00000010

◆ ASC_RET_CONNECTION

#define ASC_RET_CONNECTION   0x00000800

◆ ASC_RET_DATAGRAM

#define ASC_RET_DATAGRAM   0x00000400

◆ ASC_RET_DELEGATE

#define ASC_RET_DELEGATE   0x00000001

◆ ASC_RET_EXTENDED_ERROR

#define ASC_RET_EXTENDED_ERROR   0x00008000

◆ ASC_RET_FRAGMENT_ONLY

#define ASC_RET_FRAGMENT_ONLY   0x00800000

◆ ASC_RET_IDENTIFY

#define ASC_RET_IDENTIFY   0x00080000

◆ ASC_RET_INTEGRITY

#define ASC_RET_INTEGRITY   0x00020000

◆ ASC_RET_LICENSING

#define ASC_RET_LICENSING   0x00040000

◆ ASC_RET_MISSING_BINDINGS

#define ASC_RET_MISSING_BINDINGS   0x10000000

◆ ASC_RET_MUTUAL_AUTH

#define ASC_RET_MUTUAL_AUTH   0x00000002

◆ ASC_RET_NO_PROXY_BINDINGS

#define ASC_RET_NO_PROXY_BINDINGS   0x04000000

◆ ASC_RET_NO_TOKEN

#define ASC_RET_NO_TOKEN   0x01000000

◆ ASC_RET_NULL_SESSION

#define ASC_RET_NULL_SESSION   0x00100000

◆ ASC_RET_REPLAY_DETECT

#define ASC_RET_REPLAY_DETECT   0x00000004

◆ ASC_RET_SEQUENCE_DETECT

#define ASC_RET_SEQUENCE_DETECT   0x00000008

◆ ASC_RET_STREAM

#define ASC_RET_STREAM   0x00010000

◆ ASC_RET_THIRD_LEG_FAILED

#define ASC_RET_THIRD_LEG_FAILED   0x00004000

◆ ASC_RET_USE_SESSION_KEY

#define ASC_RET_USE_SESSION_KEY   0x00000020

◆ ASC_RET_USED_DCE_STYLE

#define ASC_RET_USED_DCE_STYLE   0x00000200

◆ ENUMERATE_SECURITY_PACKAGES_FN

#define ENUMERATE_SECURITY_PACKAGES_FN   ENUMERATE_SECURITY_PACKAGES_FN_A

◆ EnumerateSecurityPackages

#define EnumerateSecurityPackages   EnumerateSecurityPackagesA

◆ IMPORT_SECURITY_CONTEXT_FN

#define IMPORT_SECURITY_CONTEXT_FN   IMPORT_SECURITY_CONTEXT_FN_A

◆ ImportSecurityContext

#define ImportSecurityContext   ImportSecurityContextA

◆ INIT_SECURITY_INTERFACE

#define INIT_SECURITY_INTERFACE   INIT_SECURITY_INTERFACE_A

◆ INIT_SECURITY_INTERFACE_EX

#define INIT_SECURITY_INTERFACE_EX   INIT_SECURITY_INTERFACE_EX_A

◆ INITIALIZE_SECURITY_CONTEXT_FN

#define INITIALIZE_SECURITY_CONTEXT_FN   INITIALIZE_SECURITY_CONTEXT_FN_A

◆ InitializeSecurityContext

#define InitializeSecurityContext   InitializeSecurityContextA

◆ InitSecurityInterface

#define InitSecurityInterface   InitSecurityInterfaceA

◆ InitSecurityInterfaceEx

#define InitSecurityInterfaceEx   InitSecurityInterfaceExA

◆ ISC_REQ_ALLOCATE_MEMORY

#define ISC_REQ_ALLOCATE_MEMORY   0x00000100

◆ ISC_REQ_CALL_LEVEL

#define ISC_REQ_CALL_LEVEL   0x00001000

◆ ISC_REQ_CONFIDENTIALITY

#define ISC_REQ_CONFIDENTIALITY   0x00000010

◆ ISC_REQ_CONNECTION

#define ISC_REQ_CONNECTION   0x00000800

◆ ISC_REQ_DATAGRAM

#define ISC_REQ_DATAGRAM   0x00000400

◆ ISC_REQ_DELEGATE

#define ISC_REQ_DELEGATE   0x00000001

◆ ISC_REQ_EXTENDED_ERROR

#define ISC_REQ_EXTENDED_ERROR   0x00004000

◆ ISC_REQ_FORWARD_CREDENTIALS

#define ISC_REQ_FORWARD_CREDENTIALS   0x00400000

◆ ISC_REQ_FRAGMENT_SUPPLIED

#define ISC_REQ_FRAGMENT_SUPPLIED   0x00002000

◆ ISC_REQ_FRAGMENT_TO_FIT

#define ISC_REQ_FRAGMENT_TO_FIT   0x00200000

◆ ISC_REQ_IDENTIFY

#define ISC_REQ_IDENTIFY   0x00020000

◆ ISC_REQ_INTEGRITY

#define ISC_REQ_INTEGRITY   0x00010000

◆ ISC_REQ_MANUAL_CRED_VALIDATION

#define ISC_REQ_MANUAL_CRED_VALIDATION   0x00080000

◆ ISC_REQ_MUTUAL_AUTH

#define ISC_REQ_MUTUAL_AUTH   0x00000002

◆ ISC_REQ_NO_INTEGRITY

#define ISC_REQ_NO_INTEGRITY   0x00800000

◆ ISC_REQ_NULL_SESSION

#define ISC_REQ_NULL_SESSION   0x00040000

◆ ISC_REQ_PROMPT_FOR_CREDS

#define ISC_REQ_PROMPT_FOR_CREDS   0x00000040

◆ ISC_REQ_REPLAY_DETECT

#define ISC_REQ_REPLAY_DETECT   0x00000004

◆ ISC_REQ_RESERVED1

#define ISC_REQ_RESERVED1   0x00100000

◆ ISC_REQ_SEQUENCE_DETECT

#define ISC_REQ_SEQUENCE_DETECT   0x00000008

◆ ISC_REQ_STREAM

#define ISC_REQ_STREAM   0x00008000

◆ ISC_REQ_USE_DCE_STYLE

#define ISC_REQ_USE_DCE_STYLE   0x00000200

◆ ISC_REQ_USE_HTTP_STYLE

#define ISC_REQ_USE_HTTP_STYLE   0x01000000

◆ ISC_REQ_USE_SESSION_KEY

#define ISC_REQ_USE_SESSION_KEY   0x00000020

◆ ISC_REQ_USE_SUPPLIED_CREDS

#define ISC_REQ_USE_SUPPLIED_CREDS   0x00000080

◆ ISC_RET_ALLOCATED_MEMORY

#define ISC_RET_ALLOCATED_MEMORY   0x00000100

◆ ISC_RET_CALL_LEVEL

#define ISC_RET_CALL_LEVEL   0x00002000

◆ ISC_RET_CONFIDENTIALITY

#define ISC_RET_CONFIDENTIALITY   0x00000010

◆ ISC_RET_CONNECTION

#define ISC_RET_CONNECTION   0x00000800

◆ ISC_RET_DATAGRAM

#define ISC_RET_DATAGRAM   0x00000400

◆ ISC_RET_DELEGATE

#define ISC_RET_DELEGATE   0x00000001

◆ ISC_RET_EXTENDED_ERROR

#define ISC_RET_EXTENDED_ERROR   0x00004000

◆ ISC_RET_FORWARD_CREDENTIALS

#define ISC_RET_FORWARD_CREDENTIALS   0x00400000

◆ ISC_RET_FRAGMENT_ONLY

#define ISC_RET_FRAGMENT_ONLY   0x00200000

◆ ISC_RET_IDENTIFY

#define ISC_RET_IDENTIFY   0x00020000

◆ ISC_RET_INTEGRITY

#define ISC_RET_INTEGRITY   0x00010000

◆ ISC_RET_INTERMEDIATE_RETURN

#define ISC_RET_INTERMEDIATE_RETURN   0x00001000

◆ ISC_RET_MANUAL_CRED_VALIDATION

#define ISC_RET_MANUAL_CRED_VALIDATION   0x00080000

◆ ISC_RET_MUTUAL_AUTH

#define ISC_RET_MUTUAL_AUTH   0x00000002

◆ ISC_RET_NULL_SESSION

#define ISC_RET_NULL_SESSION   0x00040000

◆ ISC_RET_REPLAY_DETECT

#define ISC_RET_REPLAY_DETECT   0x00000004

◆ ISC_RET_RESERVED1

#define ISC_RET_RESERVED1   0x00100000

◆ ISC_RET_SEQUENCE_DETECT

#define ISC_RET_SEQUENCE_DETECT   0x00000008

◆ ISC_RET_STREAM

#define ISC_RET_STREAM   0x00008000

◆ ISC_RET_USE_SESSION_KEY

#define ISC_RET_USE_SESSION_KEY   0x00000020

◆ ISC_RET_USED_COLLECTED_CREDS

#define ISC_RET_USED_COLLECTED_CREDS   0x00000040

◆ ISC_RET_USED_DCE_STYLE

#define ISC_RET_USED_DCE_STYLE   0x00000200

◆ ISC_RET_USED_HTTP_STYLE

#define ISC_RET_USED_HTTP_STYLE   0x01000000

◆ ISC_RET_USED_SUPPLIED_CREDS

#define ISC_RET_USED_SUPPLIED_CREDS   0x00000080

◆ KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY

#define KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY   0x1

◆ KDC_PROXY_SETTINGS_V1

#define KDC_PROXY_SETTINGS_V1   1

◆ KERBEROS_SSP_NAME

#define KERBEROS_SSP_NAME   _T("Kerberos")

◆ NEGO_SSP_NAME

#define NEGO_SSP_NAME   _T("Negotiate")

◆ NTLM_SSP_NAME

#define NTLM_SSP_NAME   _T("NTLM")

◆ PSEC_WINNT_AUTH_IDENTITY

#define PSEC_WINNT_AUTH_IDENTITY   PSEC_WINNT_AUTH_IDENTITY_W

◆ PSEC_WINNT_AUTH_IDENTITY_EX

#define PSEC_WINNT_AUTH_IDENTITY_EX   PSEC_WINNT_AUTH_IDENTITY_EXA

◆ PSecPkgCredentials_KdcProxySettings

#define PSecPkgCredentials_KdcProxySettings   SecPkgCredentials_KdcProxySettingsA

◆ PSecPkgCredentials_Names

#define PSecPkgCredentials_Names   PSecPkgCredentials_NamesA

◆ PSecPkgCredentials_SSIProvider

#define PSecPkgCredentials_SSIProvider   PSecPkgCredentials_SSIProviderA

◆ PSecPkgInfo

#define PSecPkgInfo   PSecPkgInfoA

◆ PSecurityFunctionTable

#define PSecurityFunctionTable   PSecurityFunctionTableA

◆ QUERY_CONTEXT_ATTRIBUTES_FN

#define QUERY_CONTEXT_ATTRIBUTES_FN   QUERY_CONTEXT_ATTRIBUTES_FN_A

◆ QUERY_CREDENTIALS_ATTRIBUTES_FN

#define QUERY_CREDENTIALS_ATTRIBUTES_FN   QUERY_CREDENTIALS_ATTRIBUTES_FN_A

◆ QUERY_SECURITY_PACKAGE_INFO_FN

#define QUERY_SECURITY_PACKAGE_INFO_FN   QUERY_SECURITY_PACKAGE_INFO_FN_A

◆ QueryContextAttributes

#define QueryContextAttributes   QueryContextAttributesA

◆ QueryCredentialsAttributes

#define QueryCredentialsAttributes   QueryCredentialsAttributesA

◆ QuerySecurityPackageInfo

#define QuerySecurityPackageInfo   QuerySecurityPackageInfoA

◆ SEC_E_ALGORITHM_MISMATCH

#define SEC_E_ALGORITHM_MISMATCH   (SECURITY_STATUS)0x80090331L

◆ SEC_E_BAD_BINDINGS

#define SEC_E_BAD_BINDINGS   (SECURITY_STATUS)0x80090346L

◆ SEC_E_BAD_PKGID

#define SEC_E_BAD_PKGID   (SECURITY_STATUS)0x80090316L

◆ SEC_E_BUFFER_TOO_SMALL

#define SEC_E_BUFFER_TOO_SMALL   (SECURITY_STATUS)0x80090321L

◆ SEC_E_CANNOT_INSTALL

#define SEC_E_CANNOT_INSTALL   (SECURITY_STATUS)0x80090307L

◆ SEC_E_CANNOT_PACK

#define SEC_E_CANNOT_PACK   (SECURITY_STATUS)0x80090309L

◆ SEC_E_CERT_EXPIRED

#define SEC_E_CERT_EXPIRED   (SECURITY_STATUS)0x80090328L

◆ SEC_E_CERT_UNKNOWN

#define SEC_E_CERT_UNKNOWN   (SECURITY_STATUS)0x80090327L

◆ SEC_E_CERT_WRONG_USAGE

#define SEC_E_CERT_WRONG_USAGE   (SECURITY_STATUS)0x80090349L

◆ SEC_E_CONTEXT_EXPIRED

#define SEC_E_CONTEXT_EXPIRED   (SECURITY_STATUS)0x80090317L

◆ SEC_E_CROSSREALM_DELEGATION_FAILURE

#define SEC_E_CROSSREALM_DELEGATION_FAILURE   (SECURITY_STATUS)0x80090357L

◆ SEC_E_CRYPTO_SYSTEM_INVALID

#define SEC_E_CRYPTO_SYSTEM_INVALID   (SECURITY_STATUS)0x80090337L

◆ SEC_E_DECRYPT_FAILURE

#define SEC_E_DECRYPT_FAILURE   (SECURITY_STATUS)0x80090330L

◆ SEC_E_DELEGATION_POLICY

#define SEC_E_DELEGATION_POLICY   (SECURITY_STATUS)0x8009035EL

◆ SEC_E_DELEGATION_REQUIRED

#define SEC_E_DELEGATION_REQUIRED   (SECURITY_STATUS)0x80090345L

◆ SEC_E_DOWNGRADE_DETECTED

#define SEC_E_DOWNGRADE_DETECTED   (SECURITY_STATUS)0x80090350L

◆ SEC_E_ENCRYPT_FAILURE

#define SEC_E_ENCRYPT_FAILURE   (SECURITY_STATUS)0x80090329L

◆ SEC_E_ILLEGAL_MESSAGE

#define SEC_E_ILLEGAL_MESSAGE   (SECURITY_STATUS)0x80090326L

◆ SEC_E_INCOMPLETE_CREDENTIALS

#define SEC_E_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x80090320L

◆ SEC_E_INCOMPLETE_MESSAGE

#define SEC_E_INCOMPLETE_MESSAGE   (SECURITY_STATUS)0x80090318L

◆ SEC_E_INSUFFICIENT_MEMORY

#define SEC_E_INSUFFICIENT_MEMORY   (SECURITY_STATUS)0x80090300L

◆ SEC_E_INTERNAL_ERROR

#define SEC_E_INTERNAL_ERROR   (SECURITY_STATUS)0x80090304L

◆ SEC_E_INVALID_HANDLE

#define SEC_E_INVALID_HANDLE   (SECURITY_STATUS)0x80090301L

◆ SEC_E_INVALID_PARAMETER

#define SEC_E_INVALID_PARAMETER   (SECURITY_STATUS)0x8009035DL

◆ SEC_E_INVALID_TOKEN

#define SEC_E_INVALID_TOKEN   (SECURITY_STATUS)0x80090308L

◆ SEC_E_ISSUING_CA_UNTRUSTED

#define SEC_E_ISSUING_CA_UNTRUSTED   (SECURITY_STATUS)0x80090352L

◆ SEC_E_ISSUING_CA_UNTRUSTED_KDC

#define SEC_E_ISSUING_CA_UNTRUSTED_KDC   (SECURITY_STATUS)0x80090359L

◆ SEC_E_KDC_CERT_EXPIRED

#define SEC_E_KDC_CERT_EXPIRED   (SECURITY_STATUS)0x8009035AL

◆ SEC_E_KDC_CERT_REVOKED

#define SEC_E_KDC_CERT_REVOKED   (SECURITY_STATUS)0x8009035BL

◆ SEC_E_KDC_INVALID_REQUEST

#define SEC_E_KDC_INVALID_REQUEST   (SECURITY_STATUS)0x80090340L

◆ SEC_E_KDC_UNABLE_TO_REFER

#define SEC_E_KDC_UNABLE_TO_REFER   (SECURITY_STATUS)0x80090341L

◆ SEC_E_KDC_UNKNOWN_ETYPE

#define SEC_E_KDC_UNKNOWN_ETYPE   (SECURITY_STATUS)0x80090342L

◆ SEC_E_LOGON_DENIED

#define SEC_E_LOGON_DENIED   (SECURITY_STATUS)0x8009030CL

◆ SEC_E_MAX_REFERRALS_EXCEEDED

#define SEC_E_MAX_REFERRALS_EXCEEDED   (SECURITY_STATUS)0x80090338L

◆ SEC_E_MESSAGE_ALTERED

#define SEC_E_MESSAGE_ALTERED   (SECURITY_STATUS)0x8009030FL

◆ SEC_E_MULTIPLE_ACCOUNTS

#define SEC_E_MULTIPLE_ACCOUNTS   (SECURITY_STATUS)0x80090347L

◆ SEC_E_MUST_BE_KDC

#define SEC_E_MUST_BE_KDC   (SECURITY_STATUS)0x80090339L

◆ SEC_E_MUTUAL_AUTH_FAILED

#define SEC_E_MUTUAL_AUTH_FAILED   (SECURITY_STATUS)0x80090363L

◆ SEC_E_NO_AUTHENTICATING_AUTHORITY

#define SEC_E_NO_AUTHENTICATING_AUTHORITY   (SECURITY_STATUS)0x80090311L

◆ SEC_E_NO_CONTEXT

#define SEC_E_NO_CONTEXT   (SECURITY_STATUS)0x80090361L

◆ SEC_E_NO_CREDENTIALS

#define SEC_E_NO_CREDENTIALS   (SECURITY_STATUS)0x8009030EL

◆ SEC_E_NO_IMPERSONATION

#define SEC_E_NO_IMPERSONATION   (SECURITY_STATUS)0x8009030BL

◆ SEC_E_NO_IP_ADDRESSES

#define SEC_E_NO_IP_ADDRESSES   (SECURITY_STATUS)0x80090335L

◆ SEC_E_NO_KERB_KEY

#define SEC_E_NO_KERB_KEY   (SECURITY_STATUS)0x80090348L

◆ SEC_E_NO_PA_DATA

#define SEC_E_NO_PA_DATA   (SECURITY_STATUS)0x8009033CL

◆ SEC_E_NO_S4U_PROT_SUPPORT

#define SEC_E_NO_S4U_PROT_SUPPORT   (SECURITY_STATUS)0x80090356L

◆ SEC_E_NO_TGT_REPLY

#define SEC_E_NO_TGT_REPLY   (SECURITY_STATUS)0x80090334L

◆ SEC_E_NOT_OWNER

#define SEC_E_NOT_OWNER   (SECURITY_STATUS)0x80090306L

◆ SEC_E_OK

#define SEC_E_OK   (SECURITY_STATUS)0x00000000L

◆ SEC_E_OUT_OF_SEQUENCE

#define SEC_E_OUT_OF_SEQUENCE   (SECURITY_STATUS)0x80090310L

◆ SEC_E_PKINIT_CLIENT_FAILURE

#define SEC_E_PKINIT_CLIENT_FAILURE   (SECURITY_STATUS)0x80090354L

◆ SEC_E_PKINIT_NAME_MISMATCH

#define SEC_E_PKINIT_NAME_MISMATCH   (SECURITY_STATUS)0x8009033DL

◆ SEC_E_PKU2U_CERT_FAILURE

#define SEC_E_PKU2U_CERT_FAILURE   (SECURITY_STATUS)0x80090362L

◆ SEC_E_POLICY_NLTM_ONLY

#define SEC_E_POLICY_NLTM_ONLY   (SECURITY_STATUS)0x8009035FL

◆ SEC_E_QOP_NOT_SUPPORTED

#define SEC_E_QOP_NOT_SUPPORTED   (SECURITY_STATUS)0x8009030AL

◆ SEC_E_REVOCATION_OFFLINE_C

#define SEC_E_REVOCATION_OFFLINE_C   (SECURITY_STATUS)0x80090353L

◆ SEC_E_REVOCATION_OFFLINE_KDC

#define SEC_E_REVOCATION_OFFLINE_KDC   (SECURITY_STATUS)0x80090358L

◆ SEC_E_SECPKG_NOT_FOUND

#define SEC_E_SECPKG_NOT_FOUND   (SECURITY_STATUS)0x80090305L

◆ SEC_E_SECURITY_QOS_FAILED

#define SEC_E_SECURITY_QOS_FAILED   (SECURITY_STATUS)0x80090332L

◆ SEC_E_SHUTDOWN_IN_PROGRESS

#define SEC_E_SHUTDOWN_IN_PROGRESS   (SECURITY_STATUS)0x8009033FL

◆ SEC_E_SMARTCARD_CERT_EXPIRED

#define SEC_E_SMARTCARD_CERT_EXPIRED   (SECURITY_STATUS)0x80090355L

◆ SEC_E_SMARTCARD_CERT_REVOKED

#define SEC_E_SMARTCARD_CERT_REVOKED   (SECURITY_STATUS)0x80090351L

◆ SEC_E_SMARTCARD_LOGON_REQUIRED

#define SEC_E_SMARTCARD_LOGON_REQUIRED   (SECURITY_STATUS)0x8009033EL

◆ SEC_E_STRONG_CRYPTO_NOT_SUPPORTED

#define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED   (SECURITY_STATUS)0x8009033AL

◆ SEC_E_TARGET_UNKNOWN

#define SEC_E_TARGET_UNKNOWN   (SECURITY_STATUS)0x80090303L

◆ SEC_E_TIME_SKEW

#define SEC_E_TIME_SKEW   (SECURITY_STATUS)0x80090324L

◆ SEC_E_TOO_MANY_PRINCIPALS

#define SEC_E_TOO_MANY_PRINCIPALS   (SECURITY_STATUS)0x8009033BL

◆ SEC_E_UNFINISHED_CONTEXT_DELETED

#define SEC_E_UNFINISHED_CONTEXT_DELETED   (SECURITY_STATUS)0x80090333L

◆ SEC_E_UNKNOWN_CREDENTIALS

#define SEC_E_UNKNOWN_CREDENTIALS   (SECURITY_STATUS)0x8009030DL

◆ SEC_E_UNSUPPORTED_FUNCTION

#define SEC_E_UNSUPPORTED_FUNCTION   (SECURITY_STATUS)0x80090302L

◆ SEC_E_UNSUPPORTED_PREAUTH

#define SEC_E_UNSUPPORTED_PREAUTH   (SECURITY_STATUS)0x80090343L

◆ SEC_E_UNTRUSTED_ROOT

#define SEC_E_UNTRUSTED_ROOT   (SECURITY_STATUS)0x80090325L

◆ SEC_E_WRONG_CREDENTIAL_HANDLE

#define SEC_E_WRONG_CREDENTIAL_HANDLE   (SECURITY_STATUS)0x80090336L

◆ SEC_E_WRONG_PRINCIPAL

#define SEC_E_WRONG_PRINCIPAL   (SECURITY_STATUS)0x80090322L

◆ SEC_ENTRY

#define SEC_ENTRY

WinPR: Windows Portable Runtime Security Support Provider Interface (SSPI)

Copyright 2012-2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ SEC_I_COMPLETE_AND_CONTINUE

#define SEC_I_COMPLETE_AND_CONTINUE   (SECURITY_STATUS)0x00090314L

◆ SEC_I_COMPLETE_NEEDED

#define SEC_I_COMPLETE_NEEDED   (SECURITY_STATUS)0x00090313L

◆ SEC_I_CONTEXT_EXPIRED

#define SEC_I_CONTEXT_EXPIRED   (SECURITY_STATUS)0x00090317L

◆ SEC_I_CONTINUE_NEEDED

#define SEC_I_CONTINUE_NEEDED   (SECURITY_STATUS)0x00090312L

◆ SEC_I_INCOMPLETE_CREDENTIALS

#define SEC_I_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x00090320L

◆ SEC_I_LOCAL_LOGON

#define SEC_I_LOCAL_LOGON   (SECURITY_STATUS)0x00090315L

◆ SEC_I_NO_LSA_CONTEXT

#define SEC_I_NO_LSA_CONTEXT   (SECURITY_STATUS)0x00090323L

◆ SEC_I_NO_RENEGOTIATION

#define SEC_I_NO_RENEGOTIATION   (SECURITY_STATUS)0x00090360L

◆ SEC_I_RENEGOTIATE

#define SEC_I_RENEGOTIATE   (SECURITY_STATUS)0x00090321L

◆ SEC_I_SIGNATURE_NEEDED

#define SEC_I_SIGNATURE_NEEDED   (SECURITY_STATUS)0x0009035CL

◆ SEC_WINNT_AUTH_IDENTITY

#define SEC_WINNT_AUTH_IDENTITY   SEC_WINNT_AUTH_IDENTITY_W

◆ SEC_WINNT_AUTH_IDENTITY_ANSI

#define SEC_WINNT_AUTH_IDENTITY_ANSI   0x1

◆ SEC_WINNT_AUTH_IDENTITY_EX

#define SEC_WINNT_AUTH_IDENTITY_EX   SEC_WINNT_AUTH_IDENTITY_EXA

◆ SEC_WINNT_AUTH_IDENTITY_EXTENDED

#define SEC_WINNT_AUTH_IDENTITY_EXTENDED   0x100

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER   0x80000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_DOMAIN

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_DOMAIN   0x40000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_USER

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_USER   0x20000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_PROCESS_ENCRYPTED

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_PROCESS_ENCRYPTED   0x10

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_RESERVED

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_RESERVED   0x10000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD   0x10000000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE   0x80000000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX   0x20000000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED   0x40000000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_USE_MASK

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_USE_MASK   0xFF000000

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_ENCRYPTED

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_ENCRYPTED   0x80

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_PROTECTED

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_PROTECTED   0x20

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_USER_PROTECTED

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_USER_PROTECTED   0x40

◆ SEC_WINNT_AUTH_IDENTITY_FLAGS_VALID_SSPIPFC_FLAGS

#define SEC_WINNT_AUTH_IDENTITY_FLAGS_VALID_SSPIPFC_FLAGS
Value:
SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED | \
SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX | \
SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD)
#define SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE
Definition: include/winpr/sspi.h:797

◆ SEC_WINNT_AUTH_IDENTITY_MARSHALLED

#define SEC_WINNT_AUTH_IDENTITY_MARSHALLED   0x4

◆ SEC_WINNT_AUTH_IDENTITY_ONLY

#define SEC_WINNT_AUTH_IDENTITY_ONLY   0x8

◆ SEC_WINNT_AUTH_IDENTITY_UNICODE

#define SEC_WINNT_AUTH_IDENTITY_UNICODE   0x2

◆ SEC_WINNT_AUTH_IDENTITY_VERSION

#define SEC_WINNT_AUTH_IDENTITY_VERSION   0x200

◆ SEC_WINNT_AUTH_IDENTITY_VERSION_2

#define SEC_WINNT_AUTH_IDENTITY_VERSION_2   0x201

◆ SECBUFFER_ALERT

#define SECBUFFER_ALERT   17

◆ SECBUFFER_ATTRMASK

#define SECBUFFER_ATTRMASK   0xF0000000

◆ SECBUFFER_CHANGE_PASS_RESPONSE

#define SECBUFFER_CHANGE_PASS_RESPONSE   15

◆ SECBUFFER_CHANNEL_BINDINGS

#define SECBUFFER_CHANNEL_BINDINGS   14

◆ SECBUFFER_DATA

#define SECBUFFER_DATA   1

◆ SECBUFFER_EMPTY

#define SECBUFFER_EMPTY   0

◆ SECBUFFER_EXTRA

#define SECBUFFER_EXTRA   5

◆ SECBUFFER_MECHLIST

#define SECBUFFER_MECHLIST   11

◆ SECBUFFER_MECHLIST_SIGNATURE

#define SECBUFFER_MECHLIST_SIGNATURE   12

◆ SECBUFFER_MISSING

#define SECBUFFER_MISSING   4

◆ SECBUFFER_NEGOTIATION_INFO

#define SECBUFFER_NEGOTIATION_INFO   8

◆ SECBUFFER_PADDING

#define SECBUFFER_PADDING   9

◆ SECBUFFER_PKG_PARAMS

#define SECBUFFER_PKG_PARAMS   3

◆ SECBUFFER_READONLY

#define SECBUFFER_READONLY   0x80000000

◆ SECBUFFER_READONLY_WITH_CHECKSUM

#define SECBUFFER_READONLY_WITH_CHECKSUM   0x10000000

◆ SECBUFFER_RESERVED

#define SECBUFFER_RESERVED   0x60000000

◆ SECBUFFER_STREAM

#define SECBUFFER_STREAM   10

◆ SECBUFFER_STREAM_HEADER

#define SECBUFFER_STREAM_HEADER   7

◆ SECBUFFER_STREAM_TRAILER

#define SECBUFFER_STREAM_TRAILER   6

◆ SECBUFFER_TARGET

#define SECBUFFER_TARGET   13

◆ SECBUFFER_TARGET_HOST

#define SECBUFFER_TARGET_HOST   16

◆ SECBUFFER_TOKEN

#define SECBUFFER_TOKEN   2

◆ SECBUFFER_VERSION

#define SECBUFFER_VERSION   0

◆ SecInvalidateHandle

#define SecInvalidateHandle (   x)     ((PSecHandle)(x))->dwLower = ((PSecHandle)(x))->dwUpper = ((ULONG_PTR)((INT_PTR)-1))

◆ SecIsValidHandle

#define SecIsValidHandle (   x)
Value:
((((PSecHandle)(x))->dwLower != ((ULONG_PTR)((INT_PTR)-1))) && \
(((PSecHandle)(x))->dwUpper != ((ULONG_PTR)((INT_PTR)-1))))
UINT16 x
Definition: include/freerdp/event.h:110
SecHandle * PSecHandle
Definition: include/winpr/sspi.h:818

◆ SECPKG_ATTR_ACCESS_TOKEN

#define SECPKG_ATTR_ACCESS_TOKEN   18

◆ SECPKG_ATTR_AUTH_IDENTITY

#define SECPKG_ATTR_AUTH_IDENTITY   1001

◆ SECPKG_ATTR_AUTH_NTLM_CLIENT_CHALLENGE

#define SECPKG_ATTR_AUTH_NTLM_CLIENT_CHALLENGE   1102

◆ SECPKG_ATTR_AUTH_NTLM_HASH

#define SECPKG_ATTR_AUTH_NTLM_HASH   1003

◆ SECPKG_ATTR_AUTH_NTLM_MESSAGE

#define SECPKG_ATTR_AUTH_NTLM_MESSAGE   1100

◆ SECPKG_ATTR_AUTH_NTLM_MIC

#define SECPKG_ATTR_AUTH_NTLM_MIC   1106

◆ SECPKG_ATTR_AUTH_NTLM_MIC_VALUE

#define SECPKG_ATTR_AUTH_NTLM_MIC_VALUE   1107

◆ SECPKG_ATTR_AUTH_NTLM_NTPROOF_VALUE

#define SECPKG_ATTR_AUTH_NTLM_NTPROOF_VALUE   1104

◆ SECPKG_ATTR_AUTH_NTLM_RANDKEY

#define SECPKG_ATTR_AUTH_NTLM_RANDKEY   1105

◆ SECPKG_ATTR_AUTH_NTLM_SERVER_CHALLENGE

#define SECPKG_ATTR_AUTH_NTLM_SERVER_CHALLENGE   1103

◆ SECPKG_ATTR_AUTH_NTLM_TIMESTAMP

#define SECPKG_ATTR_AUTH_NTLM_TIMESTAMP   1101

◆ SECPKG_ATTR_AUTH_PASSWORD

#define SECPKG_ATTR_AUTH_PASSWORD   1002

◆ SECPKG_ATTR_AUTHENTICATION_ID

#define SECPKG_ATTR_AUTHENTICATION_ID   20

◆ SECPKG_ATTR_AUTHORITY

#define SECPKG_ATTR_AUTHORITY   6

◆ SECPKG_ATTR_CLIENT_SPECIFIED_TARGET

#define SECPKG_ATTR_CLIENT_SPECIFIED_TARGET   27

◆ SECPKG_ATTR_CONTEXT_DELETED

#define SECPKG_ATTR_CONTEXT_DELETED   33

◆ SECPKG_ATTR_CREDENTIAL_NAME

#define SECPKG_ATTR_CREDENTIAL_NAME   16

◆ SECPKG_ATTR_DCE_INFO

#define SECPKG_ATTR_DCE_INFO   3

◆ SECPKG_ATTR_ENDPOINT_BINDINGS

#define SECPKG_ATTR_ENDPOINT_BINDINGS   26

◆ SECPKG_ATTR_FLAGS

#define SECPKG_ATTR_FLAGS   14

◆ SECPKG_ATTR_KEY_INFO

#define SECPKG_ATTR_KEY_INFO   5

◆ SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS

#define SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS   30

◆ SECPKG_ATTR_LIFESPAN

#define SECPKG_ATTR_LIFESPAN   2

◆ SECPKG_ATTR_LOGOFF_TIME

#define SECPKG_ATTR_LOGOFF_TIME   21

◆ SECPKG_ATTR_NAMES

#define SECPKG_ATTR_NAMES   1

◆ SECPKG_ATTR_NATIVE_NAMES

#define SECPKG_ATTR_NATIVE_NAMES   13

◆ SECPKG_ATTR_NEGO_KEYS

#define SECPKG_ATTR_NEGO_KEYS   22

◆ SECPKG_ATTR_NEGO_PKG_INFO

#define SECPKG_ATTR_NEGO_PKG_INFO   31

◆ SECPKG_ATTR_NEGO_STATUS

#define SECPKG_ATTR_NEGO_STATUS   32

◆ SECPKG_ATTR_NEGOTIATION_INFO

#define SECPKG_ATTR_NEGOTIATION_INFO   12

◆ SECPKG_ATTR_PACKAGE_INFO

#define SECPKG_ATTR_PACKAGE_INFO   10

◆ SECPKG_ATTR_PASSWORD_EXPIRY

#define SECPKG_ATTR_PASSWORD_EXPIRY   8

◆ SECPKG_ATTR_PROMPTING_NEEDED

#define SECPKG_ATTR_PROMPTING_NEEDED   24

◆ SECPKG_ATTR_PROTO_INFO

#define SECPKG_ATTR_PROTO_INFO   7

◆ SECPKG_ATTR_SESSION_KEY

#define SECPKG_ATTR_SESSION_KEY   9

◆ SECPKG_ATTR_SIZES

#define SECPKG_ATTR_SIZES   0

◆ SECPKG_ATTR_STREAM_SIZES

#define SECPKG_ATTR_STREAM_SIZES   4

◆ SECPKG_ATTR_TARGET

#define SECPKG_ATTR_TARGET   19

◆ SECPKG_ATTR_TARGET_INFORMATION

#define SECPKG_ATTR_TARGET_INFORMATION   17

◆ SECPKG_ATTR_UNIQUE_BINDINGS

#define SECPKG_ATTR_UNIQUE_BINDINGS   25

◆ SECPKG_ATTR_USE_VALIDATED

#define SECPKG_ATTR_USE_VALIDATED   15

◆ SECPKG_ATTR_USER_FLAGS

#define SECPKG_ATTR_USER_FLAGS   11

◆ SECPKG_CRED_ATTR_CERT

#define SECPKG_CRED_ATTR_CERT   4

◆ SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS

#define SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS   3

◆ SECPKG_CRED_ATTR_NAMES

#define SECPKG_CRED_ATTR_NAMES   1

◆ SECPKG_CRED_ATTR_PAC_BYPASS

#define SECPKG_CRED_ATTR_PAC_BYPASS   5

◆ SECPKG_CRED_ATTR_SSI_PROVIDER

#define SECPKG_CRED_ATTR_SSI_PROVIDER   2

◆ SECPKG_CRED_AUTOLOGON_RESTRICTED

#define SECPKG_CRED_AUTOLOGON_RESTRICTED   0x00000010

◆ SECPKG_CRED_BOTH

#define SECPKG_CRED_BOTH   0x00000003

◆ SECPKG_CRED_INBOUND

#define SECPKG_CRED_INBOUND   0x00000001

◆ SECPKG_CRED_OUTBOUND

#define SECPKG_CRED_OUTBOUND   0x00000002

◆ SECPKG_CRED_PROCESS_POLICY_ONLY

#define SECPKG_CRED_PROCESS_POLICY_ONLY   0x00000020

◆ SECPKG_FLAG_ACCEPT_WIN32_NAME

#define SECPKG_FLAG_ACCEPT_WIN32_NAME   0x00000200

◆ SECPKG_FLAG_ASCII_BUFFERS

#define SECPKG_FLAG_ASCII_BUFFERS   0x00004000

◆ SECPKG_FLAG_CLIENT_ONLY

#define SECPKG_FLAG_CLIENT_ONLY   0x00000040

◆ SECPKG_FLAG_CONNECTION

#define SECPKG_FLAG_CONNECTION   0x00000010

◆ SECPKG_FLAG_DATAGRAM

#define SECPKG_FLAG_DATAGRAM   0x00000008

◆ SECPKG_FLAG_DELEGATION

#define SECPKG_FLAG_DELEGATION   0x00020000

◆ SECPKG_FLAG_EXTENDED_ERROR

#define SECPKG_FLAG_EXTENDED_ERROR   0x00000080

◆ SECPKG_FLAG_FRAGMENT

#define SECPKG_FLAG_FRAGMENT   0x00008000

◆ SECPKG_FLAG_GSS_COMPATIBLE

#define SECPKG_FLAG_GSS_COMPATIBLE   0x00001000

◆ SECPKG_FLAG_IMPERSONATION

#define SECPKG_FLAG_IMPERSONATION   0x00000100

◆ SECPKG_FLAG_INTEGRITY

#define SECPKG_FLAG_INTEGRITY   0x00000001

◆ SECPKG_FLAG_LOGON

#define SECPKG_FLAG_LOGON   0x00002000

◆ SECPKG_FLAG_MULTI_REQUIRED

#define SECPKG_FLAG_MULTI_REQUIRED   0x00000020

◆ SECPKG_FLAG_MUTUAL_AUTH

#define SECPKG_FLAG_MUTUAL_AUTH   0x00010000

◆ SECPKG_FLAG_NEGO_EXTENDER

#define SECPKG_FLAG_NEGO_EXTENDER   0x00100000

◆ SECPKG_FLAG_NEGOTIABLE

#define SECPKG_FLAG_NEGOTIABLE   0x00000800

◆ SECPKG_FLAG_NEGOTIABLE2

#define SECPKG_FLAG_NEGOTIABLE2   0x00200000

◆ SECPKG_FLAG_PRIVACY

#define SECPKG_FLAG_PRIVACY   0x00000002

◆ SECPKG_FLAG_READONLY_WITH_CHECKSUM

#define SECPKG_FLAG_READONLY_WITH_CHECKSUM   0x00040000

◆ SECPKG_FLAG_RESTRICTED_TOKENS

#define SECPKG_FLAG_RESTRICTED_TOKENS   0x00080000

◆ SECPKG_FLAG_STREAM

#define SECPKG_FLAG_STREAM   0x00000400

◆ SECPKG_FLAG_TOKEN_ONLY

#define SECPKG_FLAG_TOKEN_ONLY   0x00000004

◆ SECPKG_ID_NONE

#define SECPKG_ID_NONE   0xFFFF

◆ SecPkgCredentials_KdcProxySettings

#define SecPkgCredentials_KdcProxySettings   SecPkgCredentials_KdcProxySettingsA

◆ SecPkgCredentials_Names

#define SecPkgCredentials_Names   SecPkgCredentials_NamesA

◆ SecPkgCredentials_SSIProvider

#define SecPkgCredentials_SSIProvider   SecPkgCredentials_SSIProviderA

◆ SecPkgInfo

#define SecPkgInfo   SecPkgInfoA

◆ SECURITY_NATIVE_DREP

#define SECURITY_NATIVE_DREP   0x00000010

◆ SECURITY_NETWORK_DREP

#define SECURITY_NETWORK_DREP   0x00000000

◆ SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION

#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION    1 /* Interface has all routines through DecryptMessage */

◆ SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2

#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2    2 /* Interface has all routines through SetContextAttributes */

◆ SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3

#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3    3 /* Interface has all routines through SetCredentialsAttributes */

◆ SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4

#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4    4 /* Interface has all routines through ChangeAccountPassword */

◆ SecurityFunctionTable

#define SecurityFunctionTable   SecurityFunctionTableA

◆ SET_CONTEXT_ATTRIBUTES_FN

#define SET_CONTEXT_ATTRIBUTES_FN   SET_CONTEXT_ATTRIBUTES_FN_A

◆ SET_CREDENTIALS_ATTRIBUTES_FN

#define SET_CREDENTIALS_ATTRIBUTES_FN   SET_CREDENTIALS_ATTRIBUTES_FN_A

◆ SetContextAttributes

#define SetContextAttributes   SetContextAttributesA

◆ SetCredentialsAttributes

#define SetCredentialsAttributes   SetCredentialsAttributesA

◆ SSPI_INTERFACE_NATIVE

#define SSPI_INTERFACE_NATIVE   0x00000002

◆ SSPI_INTERFACE_WINPR

#define SSPI_INTERFACE_WINPR   0x00000001

◆ sspi_SetAuthIdentity

#define sspi_SetAuthIdentity   sspi_SetAuthIdentityA

Typedef Documentation

◆ ACCEPT_SECURITY_CONTEXT_FN

typedef SECURITY_STATUS(SEC_ENTRY* ACCEPT_SECURITY_CONTEXT_FN) (PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput, ULONG fContextReq, ULONG TargetDataRep, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsTimeStamp)

◆ ACQUIRE_CREDENTIALS_HANDLE_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* ACQUIRE_CREDENTIALS_HANDLE_FN_A) (LPSTR pszPrincipal, LPSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)

◆ ACQUIRE_CREDENTIALS_HANDLE_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* ACQUIRE_CREDENTIALS_HANDLE_FN_W) (LPWSTR pszPrincipal, LPWSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)

◆ ADD_CREDENTIALS_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* ADD_CREDENTIALS_FN_A) (PCredHandle hCredentials, SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)

◆ ADD_CREDENTIALS_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* ADD_CREDENTIALS_FN_W) (PCredHandle hCredentials, SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)

◆ ALG_ID

typedef UINT32 ALG_ID

◆ APPLY_CONTROL_TOKEN_FN

typedef SECURITY_STATUS(SEC_ENTRY* APPLY_CONTROL_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pInput)

◆ COMPLETE_AUTH_TOKEN_FN

typedef SECURITY_STATUS(SEC_ENTRY* COMPLETE_AUTH_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pToken)

◆ CredHandle

◆ CtxtHandle

◆ DECRYPT_MESSAGE_FN

typedef SECURITY_STATUS(SEC_ENTRY* DECRYPT_MESSAGE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)

◆ DELETE_SECURITY_CONTEXT_FN

typedef SECURITY_STATUS(SEC_ENTRY* DELETE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)

◆ ENCRYPT_MESSAGE_FN

typedef SECURITY_STATUS(SEC_ENTRY* ENCRYPT_MESSAGE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)

◆ ENUMERATE_SECURITY_PACKAGES_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* ENUMERATE_SECURITY_PACKAGES_FN_A) (ULONG *pcPackages, PSecPkgInfoA *ppPackageInfo)

◆ ENUMERATE_SECURITY_PACKAGES_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* ENUMERATE_SECURITY_PACKAGES_FN_W) (ULONG *pcPackages, PSecPkgInfoW *ppPackageInfo)

◆ EXPORT_SECURITY_CONTEXT_FN

typedef SECURITY_STATUS(SEC_ENTRY* EXPORT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext, ULONG fFlags, PSecBuffer pPackedContext, HANDLE *pToken)

◆ FREE_CONTEXT_BUFFER_FN

typedef SECURITY_STATUS(SEC_ENTRY* FREE_CONTEXT_BUFFER_FN) (void *pvContextBuffer)

◆ FREE_CREDENTIALS_HANDLE_FN

typedef SECURITY_STATUS(SEC_ENTRY* FREE_CREDENTIALS_HANDLE_FN) (PCredHandle phCredential)

◆ IMPERSONATE_SECURITY_CONTEXT_FN

typedef SECURITY_STATUS(SEC_ENTRY* IMPERSONATE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)

◆ IMPORT_SECURITY_CONTEXT_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* IMPORT_SECURITY_CONTEXT_FN_A) (SEC_CHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)

◆ IMPORT_SECURITY_CONTEXT_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* IMPORT_SECURITY_CONTEXT_FN_W) (SEC_WCHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)

◆ INIT_SECURITY_INTERFACE_A

typedef PSecurityFunctionTableA(SEC_ENTRY* INIT_SECURITY_INTERFACE_A) (void)

◆ INIT_SECURITY_INTERFACE_EX_A

typedef PSecurityFunctionTableA(SEC_ENTRY* INIT_SECURITY_INTERFACE_EX_A) (DWORD flags)

◆ INIT_SECURITY_INTERFACE_EX_W

typedef PSecurityFunctionTableW(SEC_ENTRY* INIT_SECURITY_INTERFACE_EX_W) (DWORD flags)

◆ INIT_SECURITY_INTERFACE_W

typedef PSecurityFunctionTableW(SEC_ENTRY* INIT_SECURITY_INTERFACE_W) (void)

◆ INITIALIZE_SECURITY_CONTEXT_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* INITIALIZE_SECURITY_CONTEXT_FN_A) (PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)

◆ INITIALIZE_SECURITY_CONTEXT_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* INITIALIZE_SECURITY_CONTEXT_FN_W) (PCredHandle phCredential, PCtxtHandle phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)

◆ MAKE_SIGNATURE_FN

typedef SECURITY_STATUS(SEC_ENTRY* MAKE_SIGNATURE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)

◆ PCredHandle

◆ PCtxtHandle

◆ PSEC_WINNT_AUTH_IDENTITY_A

◆ PSEC_WINNT_AUTH_IDENTITY_EXA

◆ PSEC_WINNT_AUTH_IDENTITY_EXW

◆ PSEC_WINNT_AUTH_IDENTITY_W

◆ PSecBuffer

◆ PSecBufferDesc

◆ PSecHandle

◆ PSecPkgCredentials_KdcProxySettingsA

◆ PSecPkgCredentials_KdcProxySettingsW

◆ PSecPkgCredentials_NamesA

◆ PSecPkgCredentials_NamesW

◆ PSecPkgCredentials_SSIProviderA

◆ PSecPkgCredentials_SSIProviderW

◆ PSecPkgInfoA

◆ PSecPkgInfoW

◆ PSecurityFunctionTableA

◆ PSecurityFunctionTableW

◆ psSspiNtlmHashCallback

typedef SECURITY_STATUS(* psSspiNtlmHashCallback) (void *client, const SEC_WINNT_AUTH_IDENTITY *authIdentity, const SecBuffer *ntproofvalue, const BYTE *randkey, const BYTE *mic, const SecBuffer *micvalue, BYTE *ntlmhash)

◆ PTimeStamp

◆ QUERY_CONTEXT_ATTRIBUTES_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)

◆ QUERY_CONTEXT_ATTRIBUTES_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)

◆ QUERY_CREDENTIALS_ATTRIBUTES_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CREDENTIALS_ATTRIBUTES_FN_A) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)

◆ QUERY_CREDENTIALS_ATTRIBUTES_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CREDENTIALS_ATTRIBUTES_FN_W) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)

◆ QUERY_SECURITY_CONTEXT_TOKEN_FN

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_SECURITY_CONTEXT_TOKEN_FN) (PCtxtHandle phContext, HANDLE *phToken)

◆ QUERY_SECURITY_PACKAGE_INFO_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_SECURITY_PACKAGE_INFO_FN_A) (SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo)

◆ QUERY_SECURITY_PACKAGE_INFO_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* QUERY_SECURITY_PACKAGE_INFO_FN_W) (SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo)

◆ REVERT_SECURITY_CONTEXT_FN

typedef SECURITY_STATUS(SEC_ENTRY* REVERT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)

◆ SEC_CHAR

typedef CHAR SEC_CHAR

◆ SEC_GET_KEY_FN

typedef void(SEC_ENTRY* SEC_GET_KEY_FN) (void *Arg, void *Principal, UINT32 KeyVer, void **Key, SECURITY_STATUS *pStatus)

◆ SEC_WCHAR

typedef WCHAR SEC_WCHAR

◆ SET_CONTEXT_ATTRIBUTES_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* SET_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)

◆ SET_CONTEXT_ATTRIBUTES_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* SET_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)

◆ SET_CREDENTIALS_ATTRIBUTES_FN_A

typedef SECURITY_STATUS(SEC_ENTRY* SET_CREDENTIALS_ATTRIBUTES_FN_A) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)

◆ SET_CREDENTIALS_ATTRIBUTES_FN_W

typedef SECURITY_STATUS(SEC_ENTRY* SET_CREDENTIALS_ATTRIBUTES_FN_W) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)

◆ TimeStamp

◆ VERIFY_SIGNATURE_FN

typedef SECURITY_STATUS(SEC_ENTRY* VERIFY_SIGNATURE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)

Function Documentation

◆ GetSecurityStatusString()

WINPR_API const char* GetSecurityStatusString ( SECURITY_STATUS  status)
Here is the call graph for this function:

◆ InitSecurityInterfaceExA()

WINPR_API SecurityFunctionTableA* SEC_ENTRY InitSecurityInterfaceExA ( DWORD  flags)
Here is the call graph for this function:

◆ InitSecurityInterfaceExW()

WINPR_API SecurityFunctionTableW* SEC_ENTRY InitSecurityInterfaceExW ( DWORD  flags)
Here is the call graph for this function:

◆ sspi_CopyAuthIdentity()

WINPR_API int sspi_CopyAuthIdentity ( SEC_WINNT_AUTH_IDENTITY identity,
const SEC_WINNT_AUTH_IDENTITY_INFO srcIdentity 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_CopyAuthIdentityFieldsA()

WINPR_API BOOL sspi_CopyAuthIdentityFieldsA ( const SEC_WINNT_AUTH_IDENTITY_INFO identity,
char **  pUser,
char **  pDomain,
char **  pPassword 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_CopyAuthIdentityFieldsW()

WINPR_API BOOL sspi_CopyAuthIdentityFieldsW ( const SEC_WINNT_AUTH_IDENTITY_INFO identity,
WCHAR **  pUser,
WCHAR **  pDomain,
WCHAR **  pPassword 
)
Here is the call graph for this function:

◆ sspi_CopyAuthPackageListA()

WINPR_API BOOL sspi_CopyAuthPackageListA ( const SEC_WINNT_AUTH_IDENTITY_INFO identity,
char **  pPackageList 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_FreeAuthIdentity()

WINPR_API void sspi_FreeAuthIdentity ( SEC_WINNT_AUTH_IDENTITY identity)
Here is the caller graph for this function:

◆ sspi_GetAuthIdentityFlags()

WINPR_API UINT32 sspi_GetAuthIdentityFlags ( const void *  identity)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_GetAuthIdentityPasswordA()

WINPR_API BOOL sspi_GetAuthIdentityPasswordA ( const void *  identity,
const char **  pPassword,
UINT32 *  pPasswordLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_GetAuthIdentityPasswordW()

WINPR_API BOOL sspi_GetAuthIdentityPasswordW ( const void *  identity,
const WCHAR **  pPassword,
UINT32 *  pPasswordLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_GetAuthIdentityUserDomainA()

WINPR_API BOOL sspi_GetAuthIdentityUserDomainA ( const void *  identity,
const char **  pUser,
UINT32 *  pUserLength,
const char **  pDomain,
UINT32 *  pDomainLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_GetAuthIdentityUserDomainW()

WINPR_API BOOL sspi_GetAuthIdentityUserDomainW ( const void *  identity,
const WCHAR **  pUser,
UINT32 *  pUserLength,
const WCHAR **  pDomain,
UINT32 *  pDomainLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_GetAuthIdentityVersion()

WINPR_API UINT32 sspi_GetAuthIdentityVersion ( const void *  identity)
Here is the caller graph for this function:

◆ sspi_GlobalFinish()

WINPR_API void sspi_GlobalFinish ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_GlobalInit()

WINPR_API void sspi_GlobalInit ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sspi_SecBufferAlloc()

WINPR_API void* sspi_SecBufferAlloc ( PSecBuffer  SecBuffer,
ULONG  size 
)
Here is the caller graph for this function:

◆ sspi_SecBufferFree()

WINPR_API void sspi_SecBufferFree ( PSecBuffer  SecBuffer)
Here is the caller graph for this function:

◆ sspi_SetAuthIdentityA()

WINPR_API int sspi_SetAuthIdentityA ( SEC_WINNT_AUTH_IDENTITY identity,
const char *  user,
const char *  domain,
const char *  password 
)
Here is the call graph for this function:

◆ sspi_SetAuthIdentityW()

WINPR_API int sspi_SetAuthIdentityW ( SEC_WINNT_AUTH_IDENTITY identity,
const WCHAR *  user,
const WCHAR *  domain,
const WCHAR *  password 
)
Here is the call graph for this function:

◆ sspi_SetAuthIdentityWithLengthW()

WINPR_API int sspi_SetAuthIdentityWithLengthW ( SEC_WINNT_AUTH_IDENTITY identity,
const WCHAR *  user,
size_t  userLen,
const WCHAR *  domain,
size_t  domainLen,
const WCHAR *  password,
size_t  passwordLen 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ SECURITY_STATUS