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:

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

IEnumCERTVIEWCOLUMN::GetDisplayName

IEnumCERTVIEWCOLUMN::GetMaxLength

IEnumCERTVIEWCOLUMN::GetName

IEnumCERTVIEWCOLUMN::GetType

IEnumCERTVIEWCOLUMN::GetValue