Метод 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 |
Header | certview.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certadm.dll |
См. также раздел
IEnumCERTVIEWCOLUMN::GetDisplayName