ICertServerPolicy::GetRequestProperty 方法 (certif.h)
GetRequestProperty 方法从请求中检索特定属性。
语法
HRESULT GetRequestProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
参数
[in] strPropertyName
指定要检索的属性的名称。 此参数可以设置为 name 属性或请求属性。
名称属性包括一组始终有效的常用证书属性,可通过调用此方法进行检索。 有关这些属性的信息,请参阅 Name Properties。
请求属性对于请求是唯一的,并包含以下可能的值。
注意 还有一些其他请求属性无法由 GetRequestProperty 访问,因为直到策略模块处理完请求之后才会设置这些属性。此外,其他属性可能由特定的请求类型、请求扩展或请求标头中设置的命名属性设置。
[in] PropertyType
指定属性类型。 PropertyType 参数可以是以下类型之一。
值 | 含义 |
---|---|
|
有符号的长数据。 |
|
日期/时间。 |
|
二进制数据。 |
|
Unicode 字符串数据。 |
[out] pvarPropertyValue
指向包含请求属性类型的 VARIANT 的指针。
返回值
C++
如果该方法成功,该方法将返回S_OK,并且 pvarPropertyValue 参数包含请求属性。如果方法失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
VB
返回值为请求属性。注解
在调用此方法之前,必须调用 SetContext 方法。 对 SetContext 的调用指定将哪个请求用作当前上下文。
请求保留请求的所有关联状态,以及不属于证书一部分的最终已授予证书。 因此,吊销时间和处置数据等数据保存在请求数据对象中。
RequestType 属性可以设置为以下值之一。
值 | 含义 |
---|---|
CR_IN_PKCS | 请求是 PKCS #7 续订或注册请求。 |
CR_IN-PKCS10 | 请求是 PKCS #10 请求。 |
CR_IN_KEYGEN | 请求是 Netscape 格式) (Keygen 请求。 |
示例
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 |
标头 | certif.h (包括 Certsrv.h) |
Library | Certidl.lib |
DLL | Certcli.dll |