Функция CertSelectionGetSerializedBlob (cryptuiapi.h)
Функция CertSelectionGetSerializedBlob является вспомогательной функцией, используемой для получения сериализованного большого двоичного объекта сертификата из структуры CERT_SELECTUI_INPUT .
Синтаксис
HRESULT CertSelectionGetSerializedBlob(
[in] PCERT_SELECTUI_INPUT pcsi,
[out] void **ppOutBuffer,
[out] ULONG *pulOutBufferSize
);
Параметры
[in] pcsi
Указатель на структуру CERT_SELECTUI_INPUT , содержащую сведения о хранилище сертификатов и цепочке контекста сертификатов.
[out] ppOutBuffer
Адрес указателя на буфер, который получает большой двоичный объект сериализованных сертификатов.
[out] pulOutBufferSize
Указатель на ULONG для получения размера большого двоичного объекта в байтах, полученного в буфере, на который указывает параметр ppOutBuffer .
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Если параметры hStore и prgpChain не имеют значения NULL, возвращается E_INVALIDARG. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Комментарии
Возвращенный сериализованный BLOB передается в функцию CredUIPromptForWindowsCredentials в параметре pvInAuthBuffer , чтобы разрешить пользователю выбрать сертификат с помощью пользовательского интерфейса выбора учетных данных.
Сертификаты, сериализуемые в большом двоичном объекте, возвращаемом в буфере, на который указывает параметр ppOutBuffer этой функции, зависят от значений членов hStore и prgpChainструктуры CERT_SELECTUI_INPUT .
hStore | prgpChain | Сериализованные сертификаты |
---|---|---|
NULL | не NULL | Сертификаты, на которые указывает член prgpChain , сериализуются. |
не NULL | NULL | Сертификаты, указанные членом hStore , сериализуются. |
NULL | NULL | Возвращается пустой BLOB-объект. |
не NULL | не NULL | Вызов завершается ошибкой, и функция возвращает E_INVALIDARG. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | cryptuiapi.h |
DLL | Cryptui.dll |