IEnumCERTVIEWCOLUMN::Next 方法 (certview.h)
Next 方法将移动到列枚举序列中的下一列。
语法
HRESULT Next(
[out] LONG *pIndex
);
参数
[out] pIndex
指向变量的指针,该变量包含列枚举序列所引用的下一列的索引值。 如果没有其他要枚举的列,则此变量设置为 –1。 如果 pIndex 为 NULL,此方法将失败。
返回值
C++
如果方法成功,该方法将返回S_OK,并且现在正在引用列枚举序列中的下一列。 如果没有更多要枚举的列,该方法将返回S_FALSE,并且 pIndex 参数设置为 –1 的值。如果方法失败,它将返回一个 指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
VB
返回值是列枚举序列现在引用的列的索引值。 如果没有其他要枚举的列,则返回值为 –1。注解
成功完成此方法后,可以通过调用以下方法之一来获取列中的信息:
- IEnumCERTVIEWCOLUMN::GetName:检索列的非本地化名称。
- IEnumCERTVIEWCOLUMN::GetDisplayName:检索列的本地化名称。
- IEnumCERTVIEWCOLUMN::GetValue:检索列中的数据。
- IEnumCERTVIEWCOLUMN::GetType:检索列中的数据类型。
- IEnumCERTVIEWCOLUMN::GetMaxLength:检索列的最大长度(以字节为单位)。
示例
LONG nLength;
LONG nType;
LONG bIsindexed;
LONG Index;
HRESULT hr;
BSTR bstrColName = NULL;
// pEnumCol is previously instantiated IEnumCERTVIEWCOLUMN object
// examine each column
while (S_OK == pEnumCol->Next(&Index))
{
// determine database length
hr = pEnumCol->GetMaxLength(&nLength);
if (FAILED(hr))
{
printf("Failed GetMaxLength %x\n", hr);
goto error;
}
// determine data type
hr = pEnumCol->GetType(&nType);
if (FAILED(hr))
{
printf("Failed GetType %x\n", hr);
goto error;
}
// determine whether column is indexed
hr = pEnumCol->IsIndexed(&bIsindexed);
if (FAILED(hr))
{
printf("Failed IsIndexed %x\n", hr);
goto error;
}
// retrieve column name
hr = pEnumCol->GetName(&bstrColName);
if (FAILED(hr))
{
printf("Failed GetName %x\n", hr);
goto error;
}
// print this column's info on one line
// print name and length
printf("Column %ws has max length %d",
bstrColName,
nLength);
// print data type
switch (nType)
{
case PROPTYPE_BINARY:
printf(" Type is Binary");
break;
case PROPTYPE_DATE:
printf(" Type is Date+Time");
break;
case PROPTYPE_LONG:
printf(" Type is Signed long");
break;
case PROPTYPE_STRING:
printf(" Type is Unicode String");
break;
default:
printf(" Type is unknown");
break;
}
// print index status
printf(bIsindexed ? " Indexed" : " Not indexed");
// print new line marker
printf("\n");
}
error:
// done processing, clear resources
if (NULL != bstrColName)
SysFreeString(bstrColName);
要求
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | certview.h (包括 Certsrv.h) |
Library | Certidl.lib |
DLL | Certadm.dll |
另请参阅
IEnumCERTVIEWCOLUMN::GetDisplayName