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
[in, out] pcguidInterfaces
pcguidInterfaces의 크기는 배열을 반환된 배열의 실제 크기를 받습니다. 배열 크기가 SCARD_AUTOALLOCATE 지정된 경우 pcguidInterfaces GUID 포인터에 대한 포인터로 변환되고 배열이 포함된 메모리 블록의 주소를 받습니다. 이 메모리 블록은 SCardFreeMemory할당 취소해야 합니다.
반환 값
이 함수는 성공 여부에 따라 다른 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
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 |
참고 항목
SCardGetProviderId
SCardListCards
SCardListReaderGroups
SCardListReaders