다음을 통해 공유


SCardGetStatusChangeA 함수(winscard.h)

SCardGetStatusChange 함수는 특정 판독기 집합에 있는 카드의 현재 가용성이 변경될 때까지 실행을 차단합니다.

호출자는 SCARD_READERSTATE 배열에서 모니터링할 판독 기 목록과 나열된 판독기 중 하나에서 작업이 발생할 때까지 대기할 최대 시간(밀리초)을 제공합니다. SCardGetStatusChangergReaderStatesSCARD_READERSTATE 배열의 dwCurrentState 멤버에서 사용자가 제공한 값을 판독기의 현재 상태 정의로 사용합니다. 함수는 가용성이 변경되면 rgReaderStatesdwEventState 멤버를 적절하게 채워서 반환합니다.

구문

LONG SCardGetStatusChangeA(
  [in]      SCARDCONTEXT         hContext,
  [in]      DWORD                dwTimeout,
  [in, out] LPSCARD_READERSTATEA rgReaderStates,
  [in]      DWORD                cReaders
);

매개 변수

[in] hContext

리소스 관리자 컨텍스트를 식별하는 핸들입니다. 리소스 관리자 컨텍스트는 SCardEstablishContext 함수에 대한 이전 호출에 의해 설정됩니다.

[in] dwTimeout

작업을 기다리는 최대 시간(밀리초)입니다. 값이 0이면 함수가 즉시 반환됩니다. INFINITE 값으로 인해 이 함수의 시간이 초과되지 않습니다.

[in, out] rgReaderStates

watch 판독기를 지정하고 결과를 수신하는 SCARD_READERSTATE 구조체의 배열입니다.

새 스마트 카드 판독기가 도착했다는 알림을 받도록 SCARD_READERSTATE 구조체의 szReader 멤버를 "\\? PnP?\Notification"을 선택하고 해당 구조체의 다른 모든 멤버를 0으로 설정합니다.

중요 이 배열에 있는 각 구조체의 각 멤버를 0으로 초기화한 다음 필요에 따라 특정 값으로 설정해야 합니다. 이 작업이 수행되지 않으면 원격 카드 판독기를 포함하는 상황에서 함수가 실패합니다.
 

[in] cReaders

rgReaderStates 배열의 요소 수입니다.

반환 값

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

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

설명

SCardGetStatusChange 함수는 스마트 카드 추적 함수입니다. 다른 추적 함수에 대한 자세한 내용은 스마트 카드 추적 함수를 참조하세요.

예제

이 함수를 호출하는 방법에 대한 자세한 내용은 SCardLocateCards의 예제를 참조하세요.

참고

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

요구 사항

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

추가 정보

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards