CRYPTUI_VIEWCERTIFICATE_STRUCTW結構 (cryptuiapi.h)

CRYPTUI_VIEWCERTIFICATE_STRUCT 結構包含要檢視之憑證的相關信息。 此結構用於 CryptUIDlgViewCertificate 函式中。

語法

typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTW {
  DWORD             dwSize;
  HWND              hwndParent;
  DWORD             dwFlags;
  LPCWSTR           szTitle;
  PCCERT_CONTEXT    pCertContext;
  LPCSTR            *rgszPurposes;
  DWORD             cPurposes;
  union {
    CRYPT_PROVIDER_DATA const *pCryptProviderData;
    HANDLE                    hWVTStateData;
  };
  BOOL              fpCryptProviderDataTrustedUsage;
  DWORD             idxSigner;
  DWORD             idxCert;
  BOOL              fCounterSigner;
  DWORD             idxCounterSigner;
  DWORD             cStores;
  HCERTSTORE        *rghStores;
  DWORD             cPropSheetPages;
  LPCPROPSHEETPAGEW rgPropSheetPages;
  DWORD             nStartPage;
} CRYPTUI_VIEWCERTIFICATE_STRUCTW, *PCRYPTUI_VIEWCERTIFICATE_STRUCTW;

成員

dwSize

CRYPTUI_VIEWCERTIFICATE_STRUCT 結構的大小,以位元組為單位。

hwndParent

視窗的句柄,該視窗是 cryptUIDlgViewCertificate 所產生之對話框的父代。

dwFlags

這個成員可以是下列其中一或多個值。

價值 意義
CRYPTUI_HIDE_HIERARCHYPAGE
認證路徑 頁面已停用。
CRYPTUI_HIDE_DETAILPAGE
詳細數據 頁面已停用。
CRYPTUI_DISABLE_EDITPROPERTIES
不允許使用者變更屬性。
CRYPTUI_ENABLE_EDITPROPERTIES
允許使用者變更屬性。
CRYPTUI_DISABLE_ADDTOSTORE
[安裝] 按鈕已停用。
CRYPTUI_ENABLE_ADDTOSTORE
已啟用 [安裝] 按鈕 。
CRYPTUI_ACCEPT_DECLINE_STYLE
會停用允許使用者接受或拒絕任何決策的頁面或按鈕。
CRYPTUI_IGNORE_UNTRUSTED_ROOT
忽略不受信任的根錯誤。
CRYPTUI_DONT_OPEN_STORES
已知的信任存放區不會用來建置鏈結。
CRYPTUI_ONLY_OPEN_ROOT_STORE
已知的受信任根存放區不會用來建置鏈結。
CRYPTUI_WARN_UNTRUSTED_ROOT
只有在檢視遠端電腦上的憑證時,才使用。 如果使用這個旗標,rghStores 的第一個項目必須是遠端電腦上的根存放區句柄。
CRYPTUI_ENABLE_REVOCATION_CHECKING
使用預設行為啟用撤銷檢查。 默認行為是啟用跟證書以外的整個憑證鏈結撤銷檢查。 只有在傳入 pCryptProviderData 或 hWVTStateData 等位成員時,才有效。
CRYPTUI_WARN_REMOTE_TRUST
為遠端電腦建置憑證鏈結時,警告遠端計算機上可能不信任該鏈結。
CRYPTUI_DISABLE_EXPORT
如果設定此旗標,[複製到檔案] 按鈕將會在 [詳細數據] 頁面上停用。
CRYPTUI_ENABLE_REVOCATION_CHECK_END_CERT
只在憑證鏈結中的分葉憑證上啟用撤銷檢查。 只有在傳入 pCryptProviderData 或 hWVTStateData 等位成員時,才有效。
CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN
在憑證鏈結中的每個憑證上啟用撤銷檢查。 只有在傳入 pCryptProviderData 或 hWVTStateData 等位成員時,才有效。

注意 因為跟證書很少包含允許撤銷檢查的資訊,所以預期使用此選項通常會導致 CryptUIDlgViewCertificate 函式失敗。 建議的選項是使用CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT。

CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
在憑證鏈結中的每個憑證上啟用撤銷檢查,但跟證書除外。 這是用於證書吊銷檢查的建議選項。 只有在傳入 pCryptProviderData 或 hWVTStateData 等位成員時,才有效。

附註 此旗標相當於CRYPTUI_ENABLE_REVOCATION_CHECKING。

CRYPTUI_DISABLE_HTMLLINK
停用 [憑證] 對話框中的 [HTML 說明] 按鈕 (?]。
CRYPTUI_DISABLE_ISSUERSTATEMENT
停用 [憑證] 對話框 [一般] 索引卷標上的 [簽發者語句] 按鈕。
CRYPTUI_CACHE_ONLY_URL_RETRIEVAL
停用在線撤銷檢查。 設定此旗標以確保 CryptUIDlgViewCertificate 函式會使用本機快取來擷取憑證,而不會嘗試從網路擷取憑證。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:不支援此旗標。

szTitle

包含視窗標題之 Null 終止字串的指標。

pCertContext

CERT_CONTEXT 結構的指標,其中包含要顯示的憑證內容。

rgszPurposes

以 Null 結束之字串的指標陣列,其中包含此憑證將驗證的目的。

cPurposes

rgszPurposes 陣列中的用途數目。

pCryptProviderData

如果已針對憑證呼叫 WinVerifyTrust 函式,而且也會呼叫 WTHelperProvDataFromStateData 函式,請傳入從呼叫 WTHelperProvDataFromStateData取得的狀態結構指標。 如果 已設定 pCryptProviderData,fpCryptProviderDataTrustedUsage、idxSigner、idxCert和 fCounterSignature 也必須設定。

hWVTStateData

如果 WinVerifyTrust 已針對憑證呼叫,且未呼叫 WTHelperProvDataFromStateData,請傳入 WINTRUST_DATA 結構的 hWVTStateData 成員。 如果已設定 hWVTStateData,fpCryptProviderDataTrustedUsage、idxSigner、idxCert,以及 fCounterSignature 也必須設定。

fpCryptProviderDataTrustedUsage

如果 呼叫 WinVerifyTrust,這是憑證是否受信任的結果。

idxSigner

要檢視之簽署者的索引。

idxCert

在簽署者鏈結中檢視之憑證的索引。 此憑證的憑證內容必須符合 pCertContext 。

fCounterSigner

如果正在檢視反符號,TRUE。 如果這是 TRUE,idxCounterSigner 必須是有效的。

idxCounterSigner

要檢視的計數器簽署器索引。

cStores

rghStores 中的其他存放區數目 證書儲存陣列,以在建置及驗證憑證鏈結時進行搜尋。

rghStores

HCERTSTORE 的陣列 處理至其他證書存儲,以在建置及驗證憑證鏈結時進行搜尋。

cPropSheetPages

要加入至對話框的屬性頁數目。

rgPropSheetPages

要加入至對話框的屬性頁陣列。 此陣列中的每個頁面都不會在 PROPSHEETPAGE 結構中收到 lParam lParam,因為 WM_INITDIALOG 訊息中的 lParam。 它會改為接收 CRYPTUI_INITDIALOG_STRUCT 結構的指標。 它包含 PROPSHEETPAGE 中的 lParam,以及要顯示頁面之 CERT_CONTEXT 的指標。

nStartPage

將顯示之初始頁面的索引。 如果設定了最高位 (0x8000),則會假設索引 rgPropSheetPages 索引(例如,在移除最高位之後,0x8000會指出 rgPropSheetPages中的第一頁。 如果最高位為零,nStartPage 將是預設憑證對話框屬性頁的起始索引。

言論

注意

cryptuiapi.h 標頭會將CRYPTUI_VIEWCERTIFICATE_STRUCT定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 cryptuiapi.h

另請參閱

CryptUIDlgViewCertificate