ICertAdmin2::GetCAPropertyFlags 方法 (certadm.h)
GetCAPropertyFlags 方法检索证书颁发机构 (CA) 属性的属性标志。 此方法首先在 ICertAdmin 接口中定义。
可以检查属性标志以确定数据类型以及是否为属性编制索引。
语法
HRESULT GetCAPropertyFlags(
[in] const BSTR strConfig,
[in] LONG PropId,
[out] LONG *pPropFlags
);
参数
[in] strConfig
表示 CA 的有效配置字符串,格式为 COMPUTERNAME\CANAME,其中 COMPUTERNAME 是证书服务服务器的网络名称,CANAME 是 CA 的公用名,如证书服务设置期间输入。 有关配置字符串名称的信息,请参阅 ICertConfig。
重要提示 更改配置字符串时,GetCAPropertyFlags 不会清除内部缓存。 更改 CA 的配置字符串时,必须实例化新的 ICertAdmin 对象,并使用新的配置字符串再次调用此方法。
[in] PropId
指定属性标识符。 有关此参数的信息,请参阅 ICertAdmin2::GetCAProperty 中的表。
[out] pPropFlags
指向表示属性标志的值的指针。
返回值
C++
返回值为 HRESULT。 值为 S_OK 表示方法成功。VB
一个 Long 类型的值,表示属性标志。注解
可以检查通过调用此方法检索到的 LONG 值,以确定数据类型和索引状态。 若要确定数据类型和索引状态,请分别使用PROPTYPE_MASK和PROPFLAGS_INDEXED值。
示例
以下示例假定 ICertAdmin2 接口指针有效。
BSTR bstrCA = NULL;
LONG nFlags; // Variable to contain the property flags.
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Failed to allocate memory for bstrCA\n");
exit(1);
}
// Retrieve a property's flags.
hr = pCertAdmin2->GetCAPropertyFlags(bstrCA,
CR_PROP_EXITCOUNT,
&nFlags);
if (FAILED(hr))
{
printf("Failed GetCAPropertyFlags\n");
SysFreeString(bstrCA);
exit(1); // Or other error action.
}
// Display the property data type.
switch (nFlags & PROPTYPE_MASK)
{
case PROPTYPE_BINARY:
printf("Type is BINARY\n");
break;
case PROPTYPE_DATE:
printf("Type is DATE\n");
break;
case PROPTYPE_LONG:
printf("Type is LONG\n");
break;
case PROPTYPE_STRING:
printf("Type is STRING\n");
break;
default:
printf("Unexpected data type.\n");
break;
}
// Display the property's indexed status.
printf("Property %s indexed\n",
nFlags & PROPFLAGS_INDEXED ? "is" : "is not");
SysFreeString(bstrCA);
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | certadm.h (包括 Certsrv.h) |
Library | Certidl.lib |
DLL | Certadm.dll |