共用方式為


CERT_SELECT_STRUCT_W結構(cryptdlg.h)

CERT_SELECT_STRUCT 結構包含要選取憑證選取對話框中所呈現憑證的準則。 此結構用於 CertSelectCertificate 函式中。

語法

typedef struct tagCSSW {
  DWORD           dwSize;
  HWND            hwndParent;
  HINSTANCE       hInstance;
  LPCWSTR         pTemplateName;
  DWORD           dwFlags;
  LPCWSTR         szTitle;
  DWORD           cCertStore;
  HCERTSTORE      *arrayCertStore;
  LPCSTR          szPurposeOid;
  DWORD           cCertContext;
  PCCERT_CONTEXT  *arrayCertContext;
  LPARAM          lCustData;
  PFNCMHOOKPROC   pfnHook;
  PFNCMFILTERPROC pfnFilter;
  LPCWSTR         szHelpFileName;
  DWORD           dwHelpId;
  HCRYPTPROV      hprov;
} CERT_SELECT_STRUCT_W, *PCERT_SELECT_STRUCT_W;

成員

dwSize

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

hwndParent

CertSelectCertificate 產生之任何對話框的父視窗句柄。

hInstance

模組的句柄,其可執行檔包含對話框範本。

pTemplateName

如果在 dwFlags 成員中設定 CSS_ENABLETEMPLATE 旗標,請將 pTemplateName 設為全域記憶體物件的指標,其中包含 dialogBoxIndirectParam 用來建立對話框的 範本。 對話框範本是由描述對話框的標頭所組成。 標頭後面接著一或多個額外的數據區塊,這些區塊會描述對話框中的每個控件。 範本可以使用標準格式或擴充格式。

如果在 dwFlags中設定 CSS_ENABLETEMPLATEHANDLE 旗標,pTemplateName 會指定對話框範本。 pTemplateName 是指定對話框範本名稱的 Null 終止字元字串指標,或是指定對話框範本資源標識碼的整數值。 如果 指定資源標識碼,則其高序字必須是零,且其低序字必須包含標識符。 建立這個整數值的其中一種方法是使用 MAKEINTRESOURCE 巨集。

dwFlags

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

價值 意義
CSS_HIDE_PROPERTIES
隱藏 [屬性] 按鈕
CSS_ENABLEHOOK
pfnHook中傳遞攔截程式。
CSS_ALLOWMULTISELECT
啟用多重選取憑證。 目前不支援這個選項,而且會被忽略。
CSS_SHOW_HELP
顯示 [說明] 按鈕
CSS_ENABLETEMPLATE
導致 CertSelectCertificate 函式呼叫 DialogBoxIndirectParam 函式來建立對話框。 如需詳細資訊,請參閱 pTemplateName
CSS_ENABLETEMPLATEHANDLE
造成 CertSelectCertificate 函式呼叫 DialogBoxParam 函式來建立對話框。 如需詳細資訊,請參閱 pTemplateName

szTitle

字串的指標,其中包含對話框標題的文字。

cCertStore

arrayCertStore 陣列中 元素數目。

arrayCertStore

對話框列舉和顯示憑證來源之證書存儲陣列的指標。 cCertStore 成員包含此陣列中的元素數目。

szPurposeOid

增強金鑰使用方式之物件識別碼 (OID) 字串表示的指標。 如果提供 OID,則只會顯示包含此 EKU 的憑證。

cCertContext

arrayCertContext 陣列中的元素數目。 CertSelectCertificate 函式傳回之後,此成員會包含用戶選取的憑證數目。 目前,使用者只能選取一個憑證。

arrayCertContext

CERT_CONTEXT 結構的陣列指標。 cCertContext 成員會指定此陣列中的元素數目。 這個陣列至少必須包含一個專案。

一開始顯示 CertSelectCertificate 函式所顯示的對話框時,會選取這些結構所代表的憑證。 目前,只會使用此陣列中的第一個憑證。 如果 CertSelectCertificate 函式成功,此陣列中的第一個憑證將會與 CertFreeCertificateContext 函式一起發行。 如果此陣列中的第一個專案 NULL,則對話框中一開始不會選取任何憑證。

CertSelectCertificate 函式傳回之後,此陣列會包含使用者所選取的憑證。 目前,使用者只能選取一個憑證。

lCustData

位元組值的陣列指標,這個陣列會保存傳遞至 pfnFilter 所參考之篩選程式的自訂資料,CertSelectCertificate 函式不會使用此自定義數據。

pfnHook

PFNCMHOOKPROC Hook 回呼函式的函式指標。 在對話框處理訊息之前,會先呼叫此函式。 如需詳細資訊,請參閱 Hooks

pfnFilter

PFNCMFILTERPROC 篩選回呼函式的函式指標。 這會呼叫 ,以判斷對話框會顯示哪些憑證。

szHelpFileName

Null 終止字串的指標,其中包含說明檔的完整路徑。

dwHelpId

主題的內容識別碼。 如需詳細資訊,請參閱
WinHelp

hprov

密碼編譯服務提供者 (CSP) 的句柄,用於憑證驗證。

言論

注意

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

要求

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

另請參閱

CertSelectCertificate