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


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

Если флаг 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

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

arrayCertStore

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

szPurposeOid

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

cCertContext

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

arrayCertContext

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

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

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

lCustData

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

pfnHook

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

pfnFilter

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

szHelpFileName

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

dwHelpId

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

hprov

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

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
заголовка cryptdlg.h

См. также

CertSelectCertificate