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
dwFlags
這個成員可以是下列其中一或多個值。
價值 | 意義 |
---|---|
|
隱藏 [屬性] 按鈕 |
|
在 pfnHook中傳遞攔截程式。 |
|
啟用多重選取憑證。 目前不支援這個選項,而且會被忽略。 |
|
顯示 [說明] 按鈕 |
|
導致 CertSelectCertificate 函式呼叫 DialogBoxIndirectParam 函式來建立對話框。 如需詳細資訊,請參閱 pTemplateName。 |
|
造成 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 |