📄 sspi.h
字号:
typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,ULONG,PVOID);typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle,ULONG,PVOID);typedef SECURITY_STATUS (WINAPI *IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle);typedef SECURITY_STATUS (WINAPI *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle);typedef SECURITY_STATUS (WINAPI *MAKE_SIGNATURE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);typedef SECURITY_STATUS (WINAPI *VERIFY_SIGNATURE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);typedef SECURITY_STATUS (WINAPI *FREE_CONTEXT_BUFFER_FN)(PVOID);typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_A)(SEC_CHAR*,PSecPkgInfoA*);typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_W)(SEC_WCHAR*,PSecPkgInfoW*);typedef SECURITY_STATUS (WINAPI *ENCRYPT_MESSAGE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);typedef SECURITY_STATUS (WINAPI *DECRYPT_MESSAGE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);/* No, it really is FreeCredentialsHandle, see the thread beginning * http://sourceforge.net/mailarchive/message.php?msg_id=4321080 for a * discovery discussion. */typedef struct _SECURITY_FUNCTION_TABLEW { unsigned long dwVersion; ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW; QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW; ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW; FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle; void SEC_FAR* Reserved2; INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA; ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext; COMPLETE_AUTH_TOKEN_FN CompleteAuthToken; DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext; APPLY_CONTROL_TOKEN_FN_W ApplyControlTokenW; QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW; IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext; REVERT_SECURITY_CONTEXT_FN RevertSecurityContext; MAKE_SIGNATURE_FN MakeSignature; VERIFY_SIGNATURE_FN VerifySignature; FREE_CONTEXT_BUFFER_FN FreeContextBuffer; QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA; void SEC_FAR* Reserved3; void SEC_FAR* Reserved4; void SEC_FAR* Unknown1; void SEC_FAR* Unknown2; void SEC_FAR* Unknown3; void SEC_FAR* Unknown4; void SEC_FAR* Unknown5; ENCRYPT_MESSAGE_FN EncryptMessage; DECRYPT_MESSAGE_FN DecryptMessage;} SecurityFunctionTableW, *PSecurityFunctionTableW;typedef struct _SECURITY_FUNCTION_TABLEA { unsigned long dwVersion; ENUMERATE_SECURITY_PACKAGES_FN_A EnumerateSecurityPackagesA; QUERY_CREDENTIALS_ATTRIBUTES_FN_A QueryCredentialsAttributesA; ACQUIRE_CREDENTIALS_HANDLE_FN_A AcquireCredentialsHandleA; FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle; void SEC_FAR* Reserved2; INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA; ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext; COMPLETE_AUTH_TOKEN_FN CompleteAuthToken; DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext; APPLY_CONTROL_TOKEN_FN_A ApplyControlTokenA; QUERY_CONTEXT_ATTRIBUTES_FN_A QueryContextAttributesA; IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext; REVERT_SECURITY_CONTEXT_FN RevertSecurityContext; MAKE_SIGNATURE_FN MakeSignature; VERIFY_SIGNATURE_FN VerifySignature; FREE_CONTEXT_BUFFER_FN FreeContextBuffer; QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA; void SEC_FAR* Reserved3; void SEC_FAR* Reserved4; void SEC_FAR* Unknown1; void SEC_FAR* Unknown2; void SEC_FAR* Unknown3; void SEC_FAR* Unknown4; void SEC_FAR* Unknown5; ENCRYPT_MESSAGE_FN EncryptMessage; DECRYPT_MESSAGE_FN DecryptMessage;} SecurityFunctionTableA, *PSecurityFunctionTableA;typedef PSecurityFunctionTableA (WINAPI *INIT_SECURITY_INTERFACE_A)(VOID);typedef PSecurityFunctionTableW (WINAPI *INIT_SECURITY_INTERFACE_W)(VOID);SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle);SECURITY_STATUS WINAPI EnumerateSecurityPackagesA(PULONG,PSecPkgInfoA*);SECURITY_STATUS WINAPI EnumerateSecurityPackagesW(PULONG,PSecPkgInfoW*);SECURITY_STATUS WINAPI AcquireCredentialsHandleA(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);SECURITY_STATUS WINAPI AcquireCredentialsHandleW(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);SECURITY_STATUS WINAPI AcceptSecurityContext(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);SECURITY_STATUS WINAPI InitializeSecurityContextA(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);SECURITY_STATUS WINAPI InitializeSecurityContextW(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);SECURITY_STATUS WINAPI FreeContextBuffer(PVOID);SECURITY_STATUS WINAPI QueryContextAttributesA(PCtxtHandle,ULONG,PVOID);SECURITY_STATUS WINAPI QueryContextAttributesW(PCtxtHandle,ULONG,PVOID);SECURITY_STATUS WINAPI QueryCredentialsAttributesA(PCredHandle,ULONG,PVOID);SECURITY_STATUS WINAPI QueryCredentialsAttributesW(PCredHandle,ULONG,PVOID);SECURITY_STATUS WINAPI DecryptMessage(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);SECURITY_STATUS WINAPI EncryptMessage(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);SECURITY_STATUS WINAPI DeleteSecurityContext(PCtxtHandle);SECURITY_STATUS WINAPI CompleteAuthToken(PCtxtHandle,PSecBufferDesc);SECURITY_STATUS WINAPI ApplyControlTokenA(PCtxtHandle,PSecBufferDesc);SECURITY_STATUS WINAPI ApplyControlTokenW(PCtxtHandle,PSecBufferDesc);SECURITY_STATUS WINAPI ImpersonateSecurityContext(PCtxtHandle);SECURITY_STATUS WINAPI RevertSecurityContext(PCtxtHandle);SECURITY_STATUS WINAPI MakeSignature(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);SECURITY_STATUS WINAPI VerifySignature(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);SECURITY_STATUS WINAPI QuerySecurityPackageInfoA(SEC_CHAR*,PSecPkgInfoA*);SECURITY_STATUS WINAPI QuerySecurityPackageInfoW(SEC_WCHAR*,PSecPkgInfoW*);PSecurityFunctionTableA WINAPI InitSecurityInterfaceA(VOID);PSecurityFunctionTableW WINAPI InitSecurityInterfaceW(VOID);#ifdef UNICODE#define UNISP_NAME UNISP_NAME_W#define SecPkgInfo SecPkgInfoW#define PSecPkgInfo PSecPkgInfoW#define SecPkgCredentials_Names SecPkgCredentials_NamesW#define PSecPkgCredentials_Names PSecPkgCredentials_NamesW#define SecPkgContext_Authority SecPkgContext_AuthorityW#define PSecPkgContext_Authority PSecPkgContext_AuthorityW#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW#define SecPkgContext_Names SecPkgContext_NamesW#define PSecPkgContext_Names PSecPkgContext_NamesW#define SecurityFunctionTable SecurityFunctionTableW#define PSecurityFunctionTable PSecurityFunctionTableW#define AcquireCredentialsHandle AcquireCredentialsHandleW#define EnumerateSecurityPackages EnumerateSecurityPackagesW#define InitializeSecurityContext InitializeSecurityContextW#define QueryContextAttributes QueryContextAttributesW#define QueryCredentialsAttributes QueryCredentialsAttributesW#define QuerySecurityPackageInfo QuerySecurityPackageInfoW#define ApplyControlToken ApplyControlTokenW#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_W#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W#else#define UNISP_NAME UNISP_NAME_A#define SecPkgInfo SecPkgInfoA#define PSecPkgInfo PSecPkgInfoA#define SecPkgCredentials_Names SecPkgCredentials_NamesA#define PSecPkgCredentials_Names PSecPkgCredentials_NamesA#define SecPkgContext_Authority SecPkgContext_AuthorityA#define PSecPkgContext_Authority PSecPkgContext_AuthorityA#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoA#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoA#define SecPkgContext_Names SecPkgContext_NamesA#define PSecPkgContext_Names PSecPkgContext_NamesA#define SecurityFunctionTable SecurityFunctionTableA#define PSecurityFunctionTable PSecurityFunctionTableA#define AcquireCredentialsHandle AcquireCredentialsHandleA#define EnumerateSecurityPackages EnumerateSecurityPackagesA#define InitializeSecurityContext InitializeSecurityContextA#define QueryContextAttributes QueryContextAttributesA#define QueryCredentialsAttributes QueryCredentialsAttributesA#define QuerySecurityPackageInfo QuerySecurityPackageInfoA#define ApplyControlToken ApplyControlTokenA#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_A#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_A#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_A#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_A#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_A#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_A#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_A#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_A#endif#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -