Поделиться через


структура 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

Если флаг CSS_ENABLETEMPLATE установлен в элементе dwFlags , присвойте pTemplateName указатель на глобальный объект памяти, содержащий шаблон, который DialogBoxIndirectParam использует для создания диалогового окна. Шаблон диалогового окна состоит из заголовка, описывающего диалоговое окно. За заголовком следует один или несколько дополнительных блоков данных, описывающих каждый из элементов управления в диалоговом окне. Шаблон может использовать либо стандартный, либо расширенный формат.

Если флаг CSS_ENABLETEMPLATEHANDLE задан в dwFlags, 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

Количество элементов в массивеCertStore .

arrayCertStore

Указатель на массив сертификатов, которые перечисляются в диалоговом окне и из них отображаются. Элемент cCertStore содержит количество элементов в этом массиве.

szPurposeOid

Указатель на строковое представление идентификатора объекта (OID) для расширенного использования ключа (EKU). Если OID указан, будут отображаться только сертификаты, которые включают этот EKU.

cCertContext

Количество элементов в массивеCertContext . После возврата функции CertSelectCertificate этот член содержит количество сертификатов, выбранных пользователем. В настоящее время пользователь может выбрать только один сертификат.

arrayCertContext

Указатель на массив CERT_CONTEXT структур. Элемент cCertContext указывает количество элементов в этом массиве. Этот массив должен содержать по крайней мере один элемент.

Сертификаты, представленные этими структурами, выбираются при первоначальном отображении диалогового окна, отображаемого функцией CertSelectCertificate . В настоящее время используется только первый сертификат в этом массиве. Первый сертификат в этом массиве будет выпущен с помощью функции CertFreeCertificateContext при успешном выполнении функции CertSelectCertificate . Если первый элемент в этом массиве имеет значение NULL, сертификаты изначально не выбираются в диалоговом окне.

После возврата функции CertSelectCertificate этот массив содержит сертификаты, выбранные пользователем. В настоящее время пользователь может выбрать только один сертификат.

lCustData

Указатель на массив байтовых значений, содержащий пользовательские данные, передаваемые процедуре фильтра, на которую ссылается pfnFilter. Эти пользовательские данные не используются функцией CertSelectCertificate .

pfnHook

Указатель функции PFNCMHOOKPROC на функцию обратного вызова перехватчика. Эта функция вызывается перед обработкой сообщений диалоговым окном. Дополнительные сведения см. в разделе Перехватчики.

pfnFilter

Указатель функции PFNCMFILTERPROC на функцию обратного вызова фильтра. Вызывается, чтобы определить, какие сертификаты будут отображаться в диалоговом окне.

szHelpFileName

Указатель на строку со значением NULL, которая содержит полный путь к файлу справки.

dwHelpId

Идентификатор контекста для раздела. Дополнительные сведения см. в разделе
WinHelp.

hprov

Дескриптор поставщика служб шифрования (CSP) для проверки сертификата.

Комментарии

Примечание

Заголовок cryptdlg.h определяет CERT_SELECT_STRUCT как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть cryptdlg.h

См. также раздел

CertSelectCertificate