wintrust.h) (CRYPT_PROVIDER_DATA 结构

[ CRYPT_PROVIDER_DATA 结构可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]

CRYPT_PROVIDER_DATA 结构用于在 WinVerifyTrust 和信任提供程序之间传递数据。

语法

typedef struct _CRYPT_PROVIDER_DATA {
  DWORD                               cbStruct;
  WINTRUST_DATA                       *pWintrustData;
  BOOL                                fOpenedFile;
  HWND                                hWndParent;
  GUID                                *pgActionID;
  HCRYPTPROV                          hProv;
  DWORD                               dwError;
  DWORD                               dwRegSecuritySettings;
  DWORD                               dwRegPolicySettings;
  struct _CRYPT_PROVIDER_FUNCTIONS    *psPfns;
  DWORD                               cdwTrustStepErrors;
  DWORD                               *padwTrustStepErrors;
  DWORD                               chStores;
  HCERTSTORE                          *pahStores;
  DWORD                               dwEncoding;
  HCRYPTMSG                           hMsg;
  DWORD                               csSigners;
  struct _CRYPT_PROVIDER_SGNR         *pasSigners;
  DWORD                               csProvPrivData;
  struct _CRYPT_PROVIDER_PRIVDATA     *pasProvPrivData;
  DWORD                               dwSubjectChoice;
  union {
#if ...
    _PROVDATA_SIP        *pPDSip;
#else
    struct _PROVDATA_SIP *pPDSip;
#endif
  };
  char                                *pszUsageOID;
  BOOL                                fRecallWithState;
  FILETIME                            sftSystemTime;
  char                                *pszCTLSignerUsageOID;
  DWORD                               dwProvFlags;
  DWORD                               dwFinalError;
  PCERT_USAGE_MATCH                   pRequestUsage;
  DWORD                               dwTrustPubSettings;
  DWORD                               dwUIStateFlags;
  struct _CRYPT_PROVIDER_SIGSTATE     *pSigState;
  struct WINTRUST_SIGNATURE_SETTINGS_ *pSigSettings;
} CRYPT_PROVIDER_DATA, *PCRYPT_PROVIDER_DATA;

成员

cbStruct

此结构的大小(以字节为单位)。

pWintrustData

指向包含要验证的信息 的WINTRUST_DATA 结构的指针。

fOpenedFile

一个布尔值,指示信任提供程序是否打开了文件句柄(如果适用)。

hWndParent

父窗口的句柄。 如果未指定,则使用桌面窗口的句柄。

pgActionID

指向 GUID 结构的指针,该结构标识操作和支持该操作的信任提供程序。

hProv

CSP) (加密服务提供程序 的句柄。 如果此参数为 NULL,则操作系统将提供默认 CSP。

dwError

如果遇到低级别系统错误,则为错误级别。

dwRegSecuritySettings

注册表安全设置。

dwRegPolicySettings

注册表策略设置。

psPfns

指向 CRYPT_PROVIDER_FUNCTIONS 结构的指针。

cdwTrustStepErrors

padwTrustStepErrors 数组中的元素数。

padwTrustStepErrors

指定信任步骤错误的 DWORD 值的数组。

chStores

pahStores 数组中的元素数。

pahStores

证书存储句柄的数组。

dwEncoding

一个 指定编码类型的 值。

hMsg

加密消息的句柄。

csSigners

pasSigners 数组中的元素数。

pasSigners

指向CRYPT_PROVIDER_SGNR结构的数组 指针。

csProvPrivData

pasProvPrivData 数组中的元素数。

pasProvPrivData

指向CRYPT_PROVIDER_PRIVDATA结构的数组 指针。

dwSubjectChoice

一个 指定主题选择的 值。

pPDSip

指向 _PROVDATA_SIP 结构的指针。

pszUsageOID

指向以 null 结尾的字符串的指针,该字符串包含 OID) (用法 对象标识符

fRecallWithState

一个布尔值,指示是否为目录文件维护状态。

sftSystemTime

系统时间。

pszCTLSignerUsageOID

指向以 null 结尾的字符串的指针,该字符串表示证书 信任列表 (CTL) 签名者用法 OID。

dwProvFlags

以下一个或多个标志的按位组合。

含义
CPD_USE_NT5_CHAIN_FLAG
0x80000000
使用 Windows 2000 链接。
CPD_REVOCATION_CHECK_NONE
0x00010000
不执行吊销检查。
CPD_REVOCATION_CHECK_END_CERT
0x00020000
将执行最终证书的吊销检查。
CPD_REVOCATION_CHECK_CHAIN
0x00040000
对证书链执行吊销检查。
CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
0x00080000
将执行证书链的吊销检查(根证书除外)。

dwFinalError

最终错误的 值。

pRequestUsage

指向 CERT_USAGE_MATCH 结构的指针。

dwTrustPubSettings

信任发布者设置的值。

dwUIStateFlags

一个 DWORD 值,该值指定在信任提供程序和用户界面之间传递的状态数据。

具有 SP1 和 Windows XP 的 Windows XP: 忽略此成员。

pSigState

pSigSettings

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 wintrust.h