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 样式请求是唯一的。
属性名称 | 类型 | 说明 |
---|---|---|
挑战 | 字符串 | 请求附带的质询字符串。 |
ExpectedChallenge | 字符串 | 如果质询字符串不正确,则服务器会将此请求属性的值设置为预期的质询,以便可以诊断失败。 |
示例
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 |
标头 | certif.h (包括 Certsrv.h) |
Library | Certidl.lib |
DLL | Certcli.dll |