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