ICertConfig::GetField 方法 (certcli.h)
GetField 方法从配置数据库的当前记录中获取特定字段。 此方法首先在 ICertConfig 接口中定义。
语法
HRESULT GetField(
[in] const BSTR strFieldName,
[out, retval] BSTR *pstrOut
);
参数
[in] strFieldName
指定要返回的字段的名称。 此参数可以是字段名称的以下有效字符串之一, (请注意,某些证书颁发机构可能不会为每个字段) 提供数据。
值 | 含义 |
---|---|
|
引用证书颁发机构 (CA) 名称。 |
|
服务器的公用名。 |
|
引用计算机\CA 名称。 |
|
国家/地区。 |
|
有关服务器 (的描述性注释将替换过时的“注释”) 。 |
|
包含交换证书的文件的名称 (仅适用于证书服务 1.0) 。 |
|
表示找到 CA 信息的位置的字符串。 有关详细信息,请参阅“备注”。 |
|
城市或城镇。 |
|
组织。 |
|
组织单位。 |
|
根据 GetConfig 中所述的规则进行清理的 CA 名称。 |
|
根据 GetConfig 中所述的规则进行清理和缩短的 CA 名称。 |
|
引用计算机名称。 |
|
SanitizedShortName,但使用“!xxx”序列(如 GetConfig 中所述)翻译回原始文本。 |
|
包含 CA 证书的文件的名称 (也称为 CA 签名证书) ;这可以是根证书,也可能不是 根证书。 |
|
省/自治区/直辖市。 |
|
Active Directory 中特定 CA 配置的证书注册 Web 服务 URL 数组。
Windows Vista 和 Windows Storage Server 2003: 不支持此字段。 |
[out, retval] pstrOut
指向从字段接收数据的 BSTR 的指针。 使用完 BSTR 后,通过调用 SysFreeString 函数释放 pbstrOut。
返回值
C++
如果方法成功,该方法将返回S_OK。如果方法失败,它将返回一个 指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
VB
返回值是表示字段数据的字符串。注解
此方法返回指定字段的字段数据。
在 strFieldName 参数中指定“Flags”时,为标志字段检索到的数据是一个字符串,可通过 C 库函数 _wtoi转换为整数。 生成的整数表示一个位字段,可以检查该位字段以确定是否设置了CAIF_DSENTRY标志和CAIF_SHAREDFOLDERENTRY。 如果设置了CAIF_DSENTRY (0x00000001) ,则 CA 的信息包含在目录服务中。 如果设置了CAIF_SHAREDFOLDERENTRY (0x00000002) ,则共享文件夹中包含 CA 的信息。 请注意,可以设置其中一个或两个标志。
示例
BSTR bstrFieldName = NULL;
BSTR bstrFieldValue = NULL;
HRESULT hr;
// Specify the field to retrieve, for example, "CommonName".
bstrFieldName = SysAllocString(L"<FIELDNAMEHERE>");
if (NULL == bstrFieldName)
{
printf("Memory allocation failed for bstrFieldName.\n");
goto error;
}
// pConfig is a previously instantiated ICertConfig object.
hr = pConfig->GetField(bstrFieldName, &bstrFieldValue);
if (FAILED(hr))
{
printf("Failed GetField - [%x]\n", hr);
goto error;
}
else
printf("GetField value for %ws is: %ws\n",
bstrFieldName, bstrFieldValue );
error:
if (bstrFieldName)
SysFreeString(bstrFieldName);
if (bstrFieldValue)
SysFreeString(bstrFieldValue);
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | certcli.h (包括 Certsrv.h) |
Library | Certidl.lib |
DLL | Certcli.dll |