wincrypt.h) (CERT_STORE_PROV_INFO 结构
CERT_STORE_PROV_INFO 结构包含通过使用 打开存储区时已安装的 CertDllOpenStoreProv 函数返回的信息
CertOpenStore 函数。
打开存储区时, CertOpenStore 函数会将 CERT_STORE_PROV_INFO 结构中的所有字段设置为零, cbSize 除外,cbSize 设置为 CERT_STORE_PROV_INFO的大小。 结构由 CertDllOpenStoreProv 可安装函数更新。 如果没有要调用的其他回调函数,则 cStoreProvFunc 在返回时保持零。
语法
typedef struct _CERT_STORE_PROV_INFO {
DWORD cbSize;
DWORD cStoreProvFunc;
void **rgpvStoreProvFunc;
HCERTSTOREPROV hStoreProv;
DWORD dwStoreProvFlags;
HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;
成员
cbSize
包含此结构的大小(以字节为单位)。
cStoreProvFunc
包含 rgpvStoreProvFunc 数组中的元素数。 此计数必须包括实现最后一个回调函数之前在索引中使用的任何 NULL 值。 例如,如果只实现了一个回调函数,但它位于索引 2 (CERT_STORE_PROV_WRITE_CERT_FUNC) ,并且索引为 0 和 1 为 NULL ,则应为此参数传递数字 3。
rgpvStoreProvFunc
指向提供程序实现的回调函数的指针数组。 此数组按下表中给定的值编制索引,它们必须按显示的顺序。 同时显示关联的回调函数。 所有未实现的回调函数都必须设置为 NULL。 数组不必包含所有回调函数索引,只需包含实现的最高回调函数索引。 例如,如果只实现 CERT_STORE_PROV_WRITE_CERT_FUNC (2) 回调函数,则数组只需要包含三个元素。
hStoreProv
应用程序定义的 32 位值,它是传递给所有回调的第一个参数。 应用程序可以根据需要指定此成员的内容。 通常,这是指向特定于应用程序的数据的指针,例如打开的每个存储的提供程序状态信息。
dwStoreProvFlags
包含一组指定提供程序工作方式的标志。 包含零或以下一个或多个值的组合。
值 | 含义 |
---|---|
|
提供程序存储存储存储缓存外部的证书、证书吊销列表和证书信任列表。 |
|
已成功删除存储。 不调用 CertStoreProvCloseCallback 回调。 |
|
默认情况下,提供程序将保留对存储所做的更改。 如果设置了此标志,则提供程序不会保留对存储所做的更改。 |
|
提供程序将上下文保存到系统存储。 |
|
提供程序将上下文保存到 LocalMachine 系统存储中。 |
hStoreProvFuncAddr2
包含 CryptGetOIDFunctionAddress 返回的句柄。 CertCloseStore 调用 CryptFreeOIDFunctionAddress 以释放非 null hStoreProvFuncAddr2。 这允许回调调用另一个可安装函数,该函数将在存储关闭时释放。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | wincrypt.h |