IEnumCERTVIEWCOLUMN::Next 메서드(certview.h)
Next 메서드는 열 열거형 시퀀스의 다음 열로 이동합니다.
구문
HRESULT Next(
[out] LONG *pIndex
);
매개 변수
[out] pIndex
열거형 시퀀스에서 참조하는 다음 열의 인덱스 값을 포함하는 변수에 대한 포인터입니다. 열거할 열이 더 이상 없으면 이 변수는 –1로 설정됩니다. pIndex가 NULL이면 이 메서드가 실패합니다.
반환 값
C++
메서드가 성공하면 메서드는 S_OK 반환하고 열 열거형 시퀀스의 다음 열이 참조되고 있습니다. 열거할 열이 더 이상 없으면 메서드는 S_FALSE 반환하고 pIndex 매개 변수는 –1 값으로 설정됩니다.메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.
VB
반환 값은 열 열거형 시퀀스에서 참조되는 열의 인덱스 값입니다. 열거할 열이 더 이상 없으면 반환 값은 –1입니다.설명
이 메서드가 성공적으로 완료되면 다음 메서드 중 하나를 호출하여 열의 정보를 가져올 수 있습니다.
- IEnumCERTVIEWCOLUMN::GetName: 열의 로컬화되지 않은 이름을 검색합니다.
- IEnumCERTVIEWCOLUMN::GetDisplayName: 열의 지역화된 이름을 검색합니다.
- IEnumCERTVIEWCOLUMN::GetValue: 열의 데이터를 검색합니다.
- IEnumCERTVIEWCOLUMN::GetType: 열의 데이터 형식을 검색합니다.
- IEnumCERTVIEWCOLUMN::GetMaxLength: 열의 최대 길이(바이트)를 검색합니다.
예제
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::GetDisplayName