SCardListInterfacesA 함수(winscard.h)

SCardListInterfaces 함수는 지정된 카드 제공하는 인터페이스 목록을 제공합니다.

호출자는 이전에 하위 시스템에 도입된 스마트 카드 이름을 제공하고 카드 지원하는 인터페이스 목록을 받습니다.

구문

LONG SCardListInterfacesA(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCSTR       szCard,
  [out]     LPGUID       pguidInterfaces,
  [in, out] LPDWORD      pcguidInterfaces
);

매개 변수

[in] hContext

쿼리에 대한 리소스 관리자 컨텍스트 를 식별하는 핸들입니다. 리소스 관리자 컨텍스트는 SCardEstablishContext에 대한 이전 호출을 통해 설정할 수 있습니다. 이 매개 변수는 NULL일 수 없습니다.

[in] szCard

스마트 카드 하위 시스템에 이미 도입된 스마트 카드 이름입니다.

[out] pguidInterfaces

스마트 카드 지원하는 인터페이스를 나타내는 GUID(인터페이스 식별자) 배열입니다. 이 값이 NULL이면 SCardListInterfacespcguidInterfaces에 제공된 배열 길이를 무시하고 이 매개 변수가 pcguidInterfaces 및 성공 코드에 NULL이 아닌 경우 반환되었을 배열의 크기를 반환합니다.

[in, out] pcguidInterfaces

pcguidInterfaces 배열의 크기이며 반환된 배열의 실제 크기를 받습니다. 배열 크기가 SCARD_AUTOALLOCATE 지정되면 pcguidInterfaces 는 GUID 포인터에 대한 포인터로 변환되고 배열을 포함하는 메모리 블록의 주소를 받습니다. 이 메모리 블록은 SCardFreeMemory로 할당 취소되어야 합니다.

반환 값

이 함수는 성공 또는 실패 여부에 따라 다른 값을 반환합니다.

반환 코드 설명
Success
SCARD_S_SUCCESS.
실패
오류 코드입니다. 자세한 내용은 스마트 카드 반환 값을 참조하세요.

설명

이 함수는 리디렉션되지 않지만 원격 데스크톱 세션을 시도할 때 함수를 호출해도 오류가 발생하지 않습니다. 이는 결과가 로컬 컴퓨터 대신 원격 컴퓨터에서 생성된다는 의미일 뿐입니다.

SCardListInterfaces 함수는 데이터베이스 쿼리 함수입니다. 다른 데이터베이스 쿼리 함수에 대한 자세한 내용은 스마트 카드 데이터베이스 쿼리 함수를 참조하세요.

예제

다음 예제에서는 스마트 카드 대한 인터페이스를 나열하는 방법을 보여 줍니다.

LPGUID          pGuids = NULL;
LONG            lReturn;
DWORD           cGuid = SCARD_AUTOALLOCATE;

// Retrieve the list of interfaces.
lReturn = SCardListInterfaces(NULL,
                              (LPCSTR) "MyCard",
                              (LPGUID)&pGuids,
                              &cGuid );
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardListInterfaces\n");
    exit(1);   // Or other appropriate action
}

if ( 0 != cGuid )
{
    // Do something with the array of Guids.
    // Remember to free pGuids when done (by SCardFreeMemory).
    // ...
}

참고

winscard.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SCardListInterfaces를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winscard.h
라이브러리 Winscard.lib
DLL Winscard.dll

추가 정보

SCardEstablishContext

SCardFreeMemory

SCardGetProviderId

SCardListCards

SCardListReaderGroups

SCardListReaders