Método IEnumCERTVIEWCOLUMN::Next (certview.h)
El método Next se mueve a la siguiente columna de la secuencia de enumeración de columnas.
Sintaxis
HRESULT Next(
[out] LONG *pIndex
);
Parámetros
[out] pIndex
Puntero a una variable que contiene el valor de índice de la siguiente columna a la que hace referencia la secuencia de enumeración de columnas. Si no hay más columnas para enumerar, esta variable se establece en –1. Este método producirá un error si pIndex es NULL.
Valor devuelto
C++
Si el método se realiza correctamente, el método devuelve S_OK y ahora se hace referencia a la columna siguiente de la secuencia de enumeración de columnas. Si no hay más columnas para enumerar, el método devuelve S_FALSE y el parámetro pIndex se establece en un valor de –1.Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
VB
El valor devuelto es el valor de índice de la columna a la que ahora hace referencia la secuencia de enumeración de columnas. Si no hay más columnas que se van a enumerar, el valor devuelto es –1.Comentarios
Tras completar correctamente este método, la información de la columna se puede obtener llamando a uno de los métodos siguientes:
- IEnumCERTVIEWCOLUMN::GetName: recupera el nombre no localizado de la columna.
- IEnumCERTVIEWCOLUMN::GetDisplayName: recupera el nombre localizado de la columna.
- IEnumCERTVIEWCOLUMN::GetValue: recupera los datos de la columna.
- IEnumCERTVIEWCOLUMN::GetType: recupera el tipo de datos de la columna.
- IEnumCERTVIEWCOLUMN::GetMaxLength: recupera la longitud máxima, en bytes, de la columna.
Ejemplos
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 compatible | No se admite ninguno |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | certview.h (incluye Certsrv.h) |
Library | Certidl.lib |
Archivo DLL | Certadm.dll |
Consulte también
IEnumCERTVIEWCOLUMN::GetDisplayName