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


Метод ICertServerExit::GetRequestAttribute (certif.h)

Метод GetRequestAttribute возвращает значение именованного атрибута из запроса.

Перед вызовом этого метода необходимо вызвать ICertServerExit::SetContext.

Синтаксис

HRESULT GetRequestAttribute(
  [in]  const BSTR strAttributeName,
  [out] BSTR       *pstrAttributeValue
);

Параметры

[in] strAttributeName

Имя извлекаемого атрибута.

[out] pstrAttributeValue

Указатель на значение BSTR , которое будет содержать значение атрибута.

Возвращаемое значение

C++

Если метод завершается успешно, метод возвращает S_OK, а для *pstrAttributeValue устанавливается значение BSTR , содержащее значение атрибута.

Чтобы использовать этот метод, создайте переменную типа BSTR, задайте для переменной значение NULL и передайте адрес этой переменной как pstrAttributeValue.

Завершив использование BSTR, освободите его, вызвав функцию SysFreeString .

Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

VB

Возвращаемое значение представляет собой строку, представляющую значение атрибута.

Комментарии

Перед использованием этого метода необходимо вызвать метод ICertServerExit::SetContext .

Следующие атрибуты запроса являются уникальными для запросов в стиле KEYGEN.

Имя свойства Тип Описание
Задача String Строка запроса, сопровождающая запрос.
ExpectedChallenge String Если строка запроса неверна, сервер установит для этого атрибута запроса значение ожидаемого запроса, чтобы можно было диагностировать сбой.
 

Примеры

BSTR       bstrAttribValue = NULL;
HRESULT    hr;

// Get the request attribute.
// bstrAttribName is a BSTR assigned by EnumerateAttributes.
// Also, ICertServerExit::SetContext has already been
// called by pCertServerExit.
hr = pCertServerExit->GetRequestAttribute(bstrAttribName,
                                          &bstrAttribValue);

if (FAILED(hr))
{
    printf("Failed GetRequestAttribute [%x]\n", hr);
    goto error;
}
else
{

    // Successful call. Use bstrAttribValue as needed.
    // ...
}

// Done processing. Free BSTR.
if (NULL != bstrAttribValue)
    SysFreeString(bstrAttribValue);

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header certif.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certcli.dll

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

ICertServerExit

ICertServerExit::SetContext