Share via


IEnumCERTVIEWCOLUMN::Next 메서드(certview.h)

Next 메서드는 열 열거형 시퀀스의 다음 열로 이동합니다.

구문

HRESULT Next(
  [out] LONG *pIndex
);

매개 변수

[out] pIndex

열거형 시퀀스에서 참조하는 다음 열의 인덱스 값을 포함하는 변수에 대한 포인터입니다. 열거할 열이 더 이상 없으면 이 변수는 –1로 설정됩니다. pIndexNULL이면 이 메서드가 실패합니다.

반환 값

C++

메서드가 성공하면 메서드는 S_OK 반환하고 열 열거형 시퀀스의 다음 열이 참조되고 있습니다. 열거할 열이 더 이상 없으면 메서드는 S_FALSE 반환하고 pIndex 매개 변수는 –1 값으로 설정됩니다.

메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

VB

반환 값은 열 열거형 시퀀스에서 참조되는 열의 인덱스 값입니다. 열거할 열이 더 이상 없으면 반환 값은 –1입니다.

설명

이 메서드가 성공적으로 완료되면 다음 메서드 중 하나를 호출하여 열의 정보를 가져올 수 있습니다.

예제

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

요구 사항

   
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certview.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certadm.dll

추가 정보

IEnumCERTVIEWCOLUMN

IEnumCERTVIEWCOLUMN::GetDisplayName

IEnumCERTVIEWCOLUMN::GetMaxLength

IEnumCERTVIEWCOLUMN::GetName

IEnumCERTVIEWCOLUMN::GetType

IEnumCERTVIEWCOLUMN::GetValue