Метод ICertServerPolicy::GetCertificateExtension (certif.h)
Метод GetCertificateExtension извлекает определенное расширение сертификата.
Синтаксис
HRESULT GetCertificateExtension(
[in] const BSTR strExtensionName,
[in] LONG Type,
[out] VARIANT *pvarValue
);
Параметры
[in] strExtensionName
Строка, содержащая имя расширения.
[in] Type
Указывает тип расширения. Тип может иметь одно из следующих значений.
[out] pvarValue
Указатель на variant , получающий запрошенное значение расширения.
Возвращаемое значение
C++
Если метод завершается успешно, метод возвращает S_OK, а параметр pvarValue содержит значение расширения.Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
VB
Возвращаемое значение — это запрошенное значение расширения.Комментарии
Перед вызовом этого метода необходимо вызвать метод SetContext . Вызов SetContext указывает, какой запрос используется в качестве текущего контекста.
Расширения сертификатов отличаются от свойств сертификата. Свойства — это универсальные данные, присоединенные к запросу. Некоторые из этих свойств кодируются в сертификате (например, BeginDate), а другие используются только для пометки запросов в очереди и журнале. Расширения, которые не отключены, кодируются в сертификате. Расширения всегда помечаются идентификатором объекта и всегда имеют критический или некритический флаг.
Примеры
VARIANT varExt;
HRESULT hr;
VariantInit(&varExt);
// Get the Extension value.
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetCertificateExtension(bstrExtName,
PROPTYPE_BINARY,
&varExt);
if (FAILED(hr))
{
printf("Failed GetCertificateExtension [%x]\n", hr);
goto error;
}
// Successful call; use the value in varExt as needed.
// ...
// When done, clear the Variant
VariantClear(&varExt);
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certif.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certcli.dll |