Метод ICertServerPolicy::GetRequestProperty (certif.h)
Метод GetRequestProperty извлекает определенное свойство из запроса.
Синтаксис
HRESULT GetRequestProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
Параметры
[in] strPropertyName
Указывает имя извлекаемого свойства. Для этого параметра можно задать свойство name или свойство запроса.
Свойства имен включают набор свойств сертификата, которые всегда допустимы и могут быть получены путем вызова этого метода. Сведения об этих свойствах см. в разделе Свойства имени.
Свойства запроса уникальны для запросов и включают следующие возможные значения.
ПримечаниеGetRequestProperty не может получить доступ к дополнительным свойствам запроса, так как они не задаются до тех пор, пока модуль политики не завершит обработку запроса. Кроме того, другие свойства могут быть заданы определенным типом запроса, расширениями запросов или именованными атрибутами, заданными в заголовке запроса.
[in] PropertyType
Указывает тип свойства. Параметр PropertyType может быть одного из следующих типов.
Значение | Значение |
---|---|
|
Подписанные длинные данные. |
|
Дата и время. |
|
Двоичные данные. |
|
Строковые данные в Юникоде. |
[out] pvarPropertyValue
Указатель на VARIANT , содержащий тип свойства запроса.
Возвращаемое значение
C++
Если метод выполнен успешно, метод возвращает S_OK, а параметр pvarPropertyValue содержит свойство запроса.Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
VB
Возвращаемое значение — это свойство запроса.Комментарии
Перед вызовом этого метода необходимо вызвать метод SetContext . Вызов SetContext указывает, какой запрос используется в качестве текущего контекста.
Запросы содержат все связанные состояния для запроса и возможного предоставленного сертификата, который не является частью сертификата. Таким образом, такие данные, как время отзыва и данные о ликвидации, хранятся в объекте данных запроса.
Для свойства RequestType можно задать одно из следующих значений.
Значение | Значение |
---|---|
CR_IN_PKCS | Запрос является запросом на продление или регистрацию PKCS No 7. |
CR_IN-PKCS10 | Запрос является запросом PKCS #10. |
CR_IN_KEYGEN | Запрос является запросом Keygen (формат Netscape). |
Примеры
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit( &varProp );
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the request property.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetRequestProperty( bstrPropName,
PROPTYPE_LONG,
&varProp );
if (FAILED(hr))
{
printf("Failed GetRequestProperty [%x]\n", hr);
goto error;
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
SysFreeString( bstrPropName );
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certif.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certcli.dll |