Condividi tramite


Metodo IEnumCERTVIEWCOLUMN::Next (certview.h)

Il metodo Next passa alla colonna successiva nella sequenza di enumerazione colonna.

Sintassi

HRESULT Next(
  [out] LONG *pIndex
);

Parametri

[out] pIndex

Puntatore a una variabile contenente il valore di indice della colonna successiva a cui fa riferimento la sequenza di enumerazione colonna. Se non sono presenti più colonne da enumerare, questa variabile è impostata su -1. Questo metodo avrà esito negativo se pIndex è NULL.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK e la colonna successiva nella sequenza di enumerazione colonna viene ora fatto riferimento. Se non sono presenti più colonne da enumerare, il metodo restituisce S_FALSE e il parametro pIndex è impostato su un valore pari a -1.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

VB

Il valore restituito è il valore di indice della colonna a cui fa ora riferimento la sequenza di enumerazione colonna. Se non sono presenti più colonne da enumerare, il valore restituito è -1.

Commenti

Al termine di questo metodo, è possibile ottenere le informazioni nella colonna chiamando uno dei metodi seguenti:

Esempio

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);

Requisiti

   
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certview.h (includere Certsrv.h)
Libreria Certidl.lib
DLL Certadm.dll

Vedi anche

IEnumCERTVIEWCOLUMN

IEnumCERTVIEWCOLUMN::GetDisplayName

IEnumCERTVIEWCOLUMN::GetMaxLength

IEnumCERTVIEWCOLUMN::GetName

IEnumCERTVIEWCOLUMN::GetType

IEnumCERTVIEWCOLUMN::GetValue