PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE回调函数 (wincrypt.h)

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE回调函数释放提供程序。

语法

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE PfnCryptObjectLocatorProviderRelease;

void PfnCryptObjectLocatorProviderRelease(
  [in]           DWORD dwReason,
  [in, optional] LPVOID pPluginContext
)
{...}

参数

[in] dwReason

指定释放提供程序的原因。 这可以是以下值之一:

含义
CRYPT_OBJECT_LOCATOR_RELEASE_SYSTEM_SHUTDOWN
1
计算机正在关闭。
CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOP
2
服务正在停止。
CRYPT_OBJECT_LOCATOR_RELEASE_PROCESS_EXIT
3
调用进程即将结束。
CRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD
4
提供程序 DLL 正在卸载。

[in, optional] pPluginContext

指向此提供程序定义并由 PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE 函数返回的可选缓冲区 指针。 调用方不会修改缓冲区。 提供程序可以使用数据来帮助它确定要执行的操作或维护其他信息。

返回值

备注

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE回调函数当前仅由安全通道 (Schannel) 安全包调用。 每次调用 PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE时,都会调用一次此函数。

提供程序不应释放所有对象的所有内存,但如果 dwReason 参数设置为 CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOPCRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD,则应自行清理。

此函数必须阻止,以便可以完成对 PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH 的调用。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 wincrypt.h

另请参阅

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE