ImportSecurityContextA 函数 (sspi.h)

ImportSecurityContext 函数导入安全上下文。 安全上下文必须已通过先前调用 ExportSecurityContext 导出到调用 ImportSecurityContext 的进程

语法

SECURITY_STATUS SEC_ENTRY ImportSecurityContextA(
  [in]           LPSTR       pszPackage,
  [in]           PSecBuffer  pPackedContext,
  [in, optional] VOID        *Token,
  [out]          PCtxtHandle phContext
);

参数

[in] pszPackage

一个字符串,包含安全上下文导出到的安全的名称。

[in] pPackedContext

指向包含 ExportSecurityContext 创建的序列化安全上下文的缓冲区的指针。

[in, optional] Token

上下文令牌的句柄。

[out] phContext

pPackedContext 创建的新安全上下文的句柄。 使用完上下文后,通过调用 DeleteSecurityContext 函数将其删除。

返回值

如果该函数成功,则函数返回SEC_E_OK。

如果函数失败,它将返回以下错误代码之一。

返回代码 说明
SEC_E_UNKNOWN_CREDENTIALS
无法识别提供给包的凭据。
SEC_E_NO_CREDENTIALS
安全包中没有可用的凭据。
SEC_E_NOT_OWNER
函数的调用方没有所需的凭据。
SEC_E_INSUFFICIENT_MEMORY
没有足够的内存可用于完成请求的操作。
SEC_E_INTERNAL_ERROR
发生了未映射到 SSPI 错误代码的错误。

注解

注意

sspi.h 标头将 ImportSecurityContext 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 sspi.h (包括 Security.h)
Library Secur32.lib
DLL Secur32.dll

另请参阅

ExportSecurityContext

FreeContextBuffer

SSPI 函数