VTableProvStruc 结构

VTableProvStruc 结构包含指向可由加密服务提供程序 (CSP) 函数使用的回调函数的指针。

语法

typedef struct VTableProvStruc {
  DWORD   Version;
  FARPROC FuncVerifyImage;
  FARPROC FuncReturnhWnd;
  DWORD   dwProvType;
  BYTE    *pbContextInfo;
  DWORD   cbContextInfo;
  LPSTR   pszProvName;
} VTableProvStruc, *PVTableProvStruc;

成员

版本

指示结构的版本的 DWORD 值。 使用此结构的三个版本。 版本为 1、2 和 3,并确定结构的哪些成员有效。 版本 1 成员在支持此结构的所有系统上都有效。

这是版本 1 成员。

FuncVerifyImage

云解决方案提供商用于验证 CSP 将加载的任何 DLL 的签名的 FuncVerifyImage 回调函数的地址。 CSP 在其中进行函数调用的所有辅助 DLL 都必须以与主 CSP DLL 相同的方式 (和相同的密钥) 进行签名。 为了确保此签名,必须使用 LoadLibrary 函数动态加载辅助 DLL。 但在加载 DLL 之前,必须验证 DLL 的签名。 CSP 通过调用 FuncVerifyImage 函数来执行此验证,如以下示例所示。

此函数指针可以存储和使用,直到释放 CSP 上下文。

这是版本 1 成员。

FuncReturnhWnd

FuncReturnhWnd 回调函数的地址,该函数返回 CSP 应用作所显示的任何用户界面的父级或所有者的窗口句柄。 不直接与用户通信的 CSP 和使用专用硬件实现此目的的 CSP 可以忽略此项。 此窗口句柄默认为零,但应用程序可以使用 CryptSetProvParam 函数设置 PP_CLIENT_HWND 属性来将此句柄设置为其他值。

此函数指针可以存储和使用,直到释放 CSP 上下文。

这是版本 1 成员。

dwProvType

一个 DWORD 值,该值指定要获取的提供程序的类型。 以下 提供程序类型 是预定义的, CSP 互操作性中对此进行了详细讨论:

  • PROV_RSA_FULL
  • PROV_RSA_SIG
  • PROV_DSS
  • PROV_FORTEZZA
  • PROV_MS_EXCHANGE

这是版本 2 成员。

pbContextInfo

指向上下文信息数组的指针。 pbContextInfocbContextInfo 成员共同确定使用 PP_CONTEXT_INFO 集调用 CPSetProvParam 函数时使用的信息集。

这是版本 2 成员。

cbContextInfo

指示 pbContextInfo 数组中的元素数的 DWORD 值。

这是版本 2 成员。

pszProvName

包含提供程序名称的字符串。

这是版本 3 成员。

备注

VTableProvStruc 结构中的指针仅在 CPAcquireContext 函数中可用。 如果在完成对 CPAcquireContext 的调用后需要结构的成员,CSP 必须复制所需的结构元素。 在此结构中的函数指针可以存储和使用,直到释放 CSP 上下文。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Cspdk.h
Unicode 和 ANSI 名称
VTableProvStrucW (Unicode)