Partager via


IEnumCERTVIEWCOLUMN::Next, méthode (certview.h)

La méthode Next passe à la colonne suivante dans la séquence d’énumération de colonnes.

Syntaxe

HRESULT Next(
  [out] LONG *pIndex
);

Paramètres

[out] pIndex

Pointeur vers une variable qui contient la valeur d’index de la colonne suivante référencée par la séquence d’énumération de colonnes. S’il n’y a plus de colonnes à énumérer, cette variable est définie sur –1. Cette méthode échoue si pIndex a la valeur NULL.

Valeur retournée

C++

Si la méthode réussit, la méthode retourne S_OK et la colonne suivante de la séquence d’énumération de colonnes est désormais référencée. S’il n’y a plus de colonnes à énumérer, la méthode retourne S_FALSE et le paramètre pIndex est défini sur une valeur de –1.

Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

VB

La valeur de retour est la valeur d’index de la colonne qui est désormais référencée par la séquence d’énumération de colonnes. S’il n’y a plus de colonnes à énumérer, la valeur de retour est –1.

Remarques

Une fois cette méthode terminée, les informations de la colonne peuvent être obtenues en appelant l’une des méthodes suivantes :

Exemples

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

Configuration requise

   
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certview.h (include Certsrv.h)
Bibliothèque Certidl.lib
DLL Certadm.dll

Voir aussi

IEnumCERTVIEWCOLUMN

IEnumCERTVIEWCOLUMN::GetDisplayName

IEnumCERTVIEWCOLUMN::GetMaxLength

IEnumCERTVIEWCOLUMN::GetName

IEnumCERTVIEWCOLUMN::GetType

IEnumCERTVIEWCOLUMN::GetValue