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

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

pfnFilter

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

szHelpFileName

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

dwHelpId

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

hprov

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

注解

注意

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

要求

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

另请参阅

CertSelectCertificate