Método IEnumCERTVIEWCOLUMN::Next (certview.h)
O método Next passa para a próxima coluna na sequência de enumeração de coluna.
Sintaxe
HRESULT Next(
[out] LONG *pIndex
);
Parâmetros
[out] pIndex
Um ponteiro para uma variável que contém o valor de índice da próxima coluna referenciada pela sequência de enumeração de coluna. Se não houver mais colunas para enumerar, essa variável será definida como –1. Esse método falhará se pIndex for NULL.
Valor retornado
C++
Se o método for bem-sucedido, o método retornará S_OK e a próxima coluna na sequência de enumeração de coluna agora está sendo referenciada. Se não houver mais colunas para enumerar, o método retornará S_FALSE e o parâmetro pIndex será definido como um valor de –1.Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
VB
O valor retornado é o valor de índice da coluna que agora é referenciada pela sequência de enumeração de coluna. Se não houver mais colunas para enumerar, o valor retornado será –1.Comentários
Após a conclusão bem-sucedida desse método, as informações na coluna podem ser obtidas chamando um dos seguintes métodos:
- IEnumCERTVIEWCOLUMN::GetName: recupera o nome nãocalizado da coluna.
- IEnumCERTVIEWCOLUMN::GetDisplayName: recupera o nome localizado da coluna.
- IEnumCERTVIEWCOLUMN::GetValue: recupera os dados na coluna.
- IEnumCERTVIEWCOLUMN::GetType: recupera o tipo de dados na coluna.
- IEnumCERTVIEWCOLUMN::GetMaxLength: recupera o comprimento máximo, em bytes, da coluna.
Exemplos
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);
Requisitos
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certview.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certadm.dll |
Confira também
IEnumCERTVIEWCOLUMN::GetDisplayName