다음을 통해 공유


ISCardDatabase::ListCardInterfaces 메서드

[ ListCardInterfaces 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. Windows Server 2003 SP1(서비스 팩 1) 이상, Windows Vista, Windows Server 2008 및 이후 버전의 운영 체제에서는 사용할 수 없습니다. 스마트 카드 모듈은 비슷한 기능을 제공합니다.]

ListCardInterfaces 메서드는 지정된 스마트 카드 지원되는 모든 인터페이스의 GUID(식별자)를 검색합니다.

구문

HRESULT ListCardInterfaces(
  [in]  BSTR        bstrCardName,
  [out] LPSAFEARRAY *ppInterfaceGuids
);

매개 변수

bstrCardName [in]

스마트 카드 이름입니다.

ppInterfaceGuids [out]

성공하면 인터페이스 GUID에 대한 포인터입니다. 작업이 실패한 경우 NULL 입니다.

반환 값

메서드는 다음 가능한 값 중 하나를 반환합니다.

반환 코드 설명
S_OK
작업이 완료되었습니다.
E_INVALIDARG
잘못된 매개 변수입니다.
E_POINTER
잘못된 포인터가 ppInterfaceGuids에 전달되었습니다.
E_OUTOFMEMORY
메모리가 부족합니다.

 

설명

스마트 카드 기본 서비스 공급자를 검색하려면 GetProviderCardId를 호출합니다.

알려진 모든 스마트 카드, 판독기판독기 그룹을 검색하려면 각각 ListCards, ListReaders 및 ListReaderGroups를 호출합니다.

이 인터페이스에서 제공하는 모든 메서드 목록은 ISCardDatabase를 참조하세요.

위에 나열된 COM 오류 코드 외에도 스마트 카드 함수를 호출하여 요청을 완료한 경우 이 인터페이스는 스마트 카드 오류 코드를 반환할 수 있습니다. 자세한 내용은 스마트 카드 반환 값을 참조하세요.

예제

다음 예제에서는 지정된 스마트 카드 지원되는 인터페이스의 식별자를 검색하는 방법을 보여 줍니다.

BSTR         bstrCard = NULL;
LPSAFEARRAY  pGuids = NULL;
HRESULT      hr;

bstrCard = SysAllocString(L"GemSAFE");
// Call the function for the specified card.
hr = pISCDataBase->ListCardInterfaces(bstrCard,
                                      &pGuids);
if (FAILED(hr))
{
   printf("Failed ListCardInterfaces\n");
   // Take other error handling action as needed.
}
else
{
   // Use the safe array as needed.
   // ...
   // Free BSTR when done.
   if (bstrCard)
       SysFreeString(bstrCard);
}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
클라이언트 지원 종료
Windows XP
서버 지원 종료
Windows Server 2003
헤더
Scardmgr.h
유형 라이브러리
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase 1461AAC8-6810-11D0-918F-00AA00C18068로 정의됩니다.

추가 정보

GetProviderCardId

ISCardDatabase

ListCards

ListReaderGroups

ListReaders