CERT_SELECT_STRUCT_A结构(cryptdlg.h)

CERT_SELECT_STRUCT 结构包含选择要在证书选择对话框中显示的证书的条件。 此结构用于 CertSelectCertificate 函数。

语法

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

成员

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)的字符串表示形式的指针,用于增强型密钥用法(EKU)。 如果提供了 OID,则仅显示包含此 EKU 的证书。

cCertContext

arrayCertContext 数组中的元素数。 CertSelectCertificate 函数返回后,此成员包含用户选择的证书数。 目前,用户只能选择一个证书。

arrayCertContext

指向 CERT_CONTEXT 结构的数组的指针。 cCertContext 成员指定此数组中的元素数。 此数组必须至少包含一个元素。

最初显示由 CertSelectCertificate 函数显示的对话框时,会选择这些结构表示的证书。 目前,仅使用此数组中的第一个证书。 如果 CertSelectCertificate 函数成功,则此数组中的第一个证书将使用 CertFreeCertificateContext 函数释放。 如果此数组中的第一个元素 NULL,则对话框中最初不会选择证书。

CertSelectCertificate 函数返回后,此数组包含用户选择的证书。 目前,用户只能选择一个证书。

lCustData

指向包含传递给 pfnFilter引用的筛选过程的自定义数据的字节值的数组的指针。 CertSelectCertificate 函数不使用此自定义数据。

pfnHook

PFNCMHOOKPROC 函数指针指向 Hook 回调函数。 在对话框处理消息之前调用此函数。 有关详细信息,请参阅 挂钩

pfnFilter

PFNCMFILTERPROC 指向筛选器回调函数的函数指针。 这将调用它来确定对话框将显示哪些证书。

szHelpFileName

指向包含帮助文件的完整路径的以 null 结尾的字符串的指针。

dwHelpId

主题的上下文标识符。 有关详细信息,请参阅
WinHelp

hprov

用于证书验证的 加密服务提供程序(CSP)的句柄。

言论

注意

cryptdlg.h 标头将CERT_SELECT_STRUCT定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

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

另请参阅

CertSelectCertificate