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

📄 sspi.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _SSPI_H#define _SSPI_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#define SECPKG_CRED_INBOUND 1#define SECPKG_CRED_OUTBOUND 2#define SECPKG_CRED_BOTH (SECPKG_CRED_OUTBOUND|SECPKG_CRED_INBOUND)#define SECPKG_CRED_ATTR_NAMES 1#define SECPKG_FLAG_INTEGRITY 1#define SECPKG_FLAG_PRIVACY 2#define SECPKG_FLAG_TOKEN_ONLY 4#define SECPKG_FLAG_DATAGRAM 8#define SECPKG_FLAG_CONNECTION 16#define SECPKG_FLAG_MULTI_REQUIRED 32#define SECPKG_FLAG_CLIENT_ONLY 64#define SECPKG_FLAG_EXTENDED_ERROR 128#define SECPKG_FLAG_IMPERSONATION 256#define SECPKG_FLAG_ACCEPT_WIN32_NAME 512#define SECPKG_FLAG_STREAM 1024#define SECPKG_ATTR_AUTHORITY 6#define SECPKG_ATTR_CONNECTION_INFO 90#define SECPKG_ATTR_ISSUER_LIST 80#define SECPKG_ATTR_ISSUER_LIST_EX 89#define SECPKG_ATTR_KEY_INFO 5#define SECPKG_ATTR_LIFESPAN 2#define SECPKG_ATTR_LOCAL_CERT_CONTEXT 84#define SECPKG_ATTR_LOCAL_CRED 82#define SECPKG_ATTR_NAMES 1#define SECPKG_ATTR_PROTO_INFO 7#define SECPKG_ATTR_REMOTE_CERT_CONTEXT 83#define SECPKG_ATTR_REMOTE_CRED 81#define SECPKG_ATTR_SIZES 0#define SECPKG_ATTR_STREAM_SIZES 4#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_PADDING 9#define SECBUFFER_STREAM 10#define SECBUFFER_READONLY 0x80000000#define SECBUFFER_ATTRMASK 0xf0000000#define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"#define SECBUFFER_VERSION 0typedef struct _SecHandle {	ULONG_PTR dwLower;	ULONG_PTR dwUpper;} SecHandle, *PSecHandle;typedef struct _SecBuffer {	ULONG cbBuffer;	ULONG BufferType;	PVOID pvBuffer;} SecBuffer, *PSecBuffer;typedef SecHandle CredHandle;typedef PSecHandle PCredHandle;typedef SecHandle CtxtHandle;typedef PSecHandle PCtxtHandle;typedef struct _SECURITY_INTEGER {	unsigned long LowPart;	long HighPart;} SECURITY_INTEGER;typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;typedef struct _SecBufferDesc {	ULONG ulVersion;	ULONG cBuffers;	PSecBuffer pBuffers;} SecBufferDesc, *PSecBufferDesc;typedef struct _SecPkgContext_StreamSizes {	ULONG cbHeader;	ULONG cbTrailer;	ULONG cbMaximumMessage;	ULONG cBuffers;	ULONG cbBlockSize;} SecPkgContext_StreamSizes, *PSecPkgContext_StreamSizes;typedef struct _SecPkgContext_Sizes {	ULONG cbMaxToken;	ULONG cbMaxSignature;	ULONG cbBlockSize;	ULONG cbSecurityTrailer;} SecPkgContext_Sizes, *PSecPkgContext_Sizes;typedef struct _SecPkgContext_AuthorityW {	SEC_WCHAR* sAuthorityName;} SecPkgContext_AuthorityW, *PSecPkgContext_AuthorityW;typedef struct _SecPkgContext_AuthorityA {	SEC_CHAR* sAuthorityName;} SecPkgContext_AuthorityA, *PSecPkgContext_AuthorityA;typedef struct _SecPkgContext_KeyInfoW {	SEC_WCHAR* sSignatureAlgorithmName;	SEC_WCHAR* sEncryptAlgorithmName;	ULONG KeySize;	ULONG SignatureAlgorithm;	ULONG EncryptAlgorithm;} SecPkgContext_KeyInfoW, *PSecPkgContext_KeyInfoW;typedef struct _SecPkgContext_KeyInfoA {	SEC_CHAR* sSignatureAlgorithmName;	SEC_CHAR* sEncryptAlgorithmName;	ULONG KeySize;	ULONG SignatureAlgorithm;	ULONG EncryptAlgorithm;} SecPkgContext_KeyInfoA, *PSecPkgContext_KeyInfoA;typedef struct _SecPkgContext_LifeSpan {	TimeStamp tsStart;	TimeStamp tsExpiry;} SecPkgContext_LifeSpan, *PSecPkgContext_LifeSpan;typedef struct _SecPkgContext_NamesW {	SEC_WCHAR* sUserName;} SecPkgContext_NamesW, *PSecPkgContext_NamesW;typedef struct _SecPkgContext_NamesA {	SEC_CHAR* sUserName;} SecPkgContext_NamesA, *PSecPkgContext_NamesA;typedef struct _SecPkgInfoW {	ULONG fCapabilities;	USHORT wVersion;	USHORT wRPCID;	ULONG cbMaxToken;	SEC_WCHAR* Name;	SEC_WCHAR* Comment;} SecPkgInfoW, *PSecPkgInfoW;typedef struct _SecPkgInfoA {	ULONG fCapabilities;	USHORT wVersion;	USHORT wRPCID;	ULONG cbMaxToken;	SEC_CHAR* Name;	SEC_CHAR* Comment;} SecPkgInfoA, *PSecPkgInfoA;/* supported only in win2k+, so it should be a PSecPkgInfoW *//* PSDK does not say it has ANSI/Unicode versions */typedef struct _SecPkgContext_PackageInfo {	PSecPkgInfoW PackageInfo;} SecPkgContext_PackageInfo, *PSecPkgContext_PackageInfo;typedef struct _SecPkgCredentials_NamesW {	SEC_WCHAR* sUserName;} SecPkgCredentials_NamesW, *PSecPkgCredentials_NamesW;typedef struct _SecPkgCredentials_NamesA {	SEC_CHAR* sUserName;} SecPkgCredentials_NamesA, *PSecPkgCredentials_NamesA;/* TODO: missing type in SDK */typedef void (*SEC_GET_KEY_FN)();typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG,PSecPkgInfoW*);typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG,PSecPkgInfoA*);typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle,ULONG,PVOID);typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_A)(PCredHandle,ULONG,PVOID);typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_W)(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_A)(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);typedef SECURITY_STATUS (WINAPI *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle);typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_W)(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_A)(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);typedef SECURITY_STATUS (WINAPI *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);typedef SECURITY_STATUS (WINAPI *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle,PSecBufferDesc);typedef SECURITY_STATUS (WINAPI *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle);typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_W)(PCtxtHandle,PSecBufferDesc);typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_A)(PCtxtHandle,PSecBufferDesc);

⌨️ 快捷键说明

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