Share via


SCARD_READERSTATEW 구조체(winscard.h)

SCARD_READERSTATE 구조는 판독기 내에서 스마트 카드를 추적하는 함수에서 사용됩니다.

구문

typedef struct {
  LPCWSTR szReader;
  LPVOID  pvUserData;
  DWORD   dwCurrentState;
  DWORD   dwEventState;
  DWORD   cbAtr;
  BYTE    rgbAtr[36];
} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW;

멤버

szReader

모니터링되는 판독기의 이름에 대한 포인터입니다.

이 멤버의 값을 "\\?로 설정합니다. PnP?\Notification" 및 새 스마트 카드 판독기의 도착 알림을 받을 다른 모든 멤버의 값을 0으로 설정합니다.

pvUserData

스마트 카드 하위 시스템에 사용되지 않습니다. 이 멤버는 애플리케이션에서 사용됩니다.

dwCurrentState

애플리케이션에서 볼 수 있는 판독기의 현재 상태입니다 . 이 필드는 다음 값 중 하나로 비트 마스크로 사용할 수 있습니다.

의미
SCARD_STATE_UNAWARE
애플리케이션은 현재 상태를 인식하지 못하며 알고 싶습니다. 이 값을 사용하면 상태 전환 모니터링 서비스에서 즉시 반환됩니다. 이 값은 0으로 설정된 모든 비트로 표시됩니다.
SCARD_STATE_IGNORE
애플리케이션은 이 판독기에 관심이 없으며 모니터링 작업 중에 고려해서는 안 됩니다. 이 비트 값이 설정되면 다른 모든 비트는 무시됩니다.
SCARD_STATE_UNAVAILABLE
애플리케이션은 이 판독기를 사용할 수 없을 것으로 예상합니다. 이 비트를 설정하면 다음 모든 비트가 무시됩니다.
SCARD_STATE_EMPTY
애플리케이션은 판독기에서 카드 없을 것으로 예상합니다. 이 비트를 설정하면 다음 비트가 모두 무시됩니다.
SCARD_STATE_PRESENT
애플리케이션은 판독기에서 카드 있을 것으로 예상합니다.
SCARD_STATE_ATRMATCH
애플리케이션은 대상 카드 중 하나와 일치하는 ATR을 사용하여 판독기에서 카드 것으로 예상합니다. 이 비트가 설정되면 SCARD_STATE_PRESENT 가정됩니다. 이 비트는 SCARD_STATE_PRESENT 이외의 SCardGetStatusChange 에 의미가 없습니다.
SCARD_STATE_EXCLUSIVE
애플리케이션은 판독기에서 카드 다른 애플리케이션에서 단독으로 사용하도록 할당해야 합니다. 이 비트가 설정되면 SCARD_STATE_PRESENT 가정됩니다.
SCARD_STATE_INUSE
애플리케이션은 판독기에서 카드 하나 이상의 다른 애플리케이션에서 사용 중이지만 공유 모드에서 에 연결될 수 있다고 예상합니다. 이 비트가 설정되면 SCARD_STATE_PRESENT 가정됩니다.
SCARD_STATE_MUTE
애플리케이션은 판독기에서 응답하지 않는 카드 예상합니다.
SCARD_STATE_UNPOWERED
이는 판독기에서 카드 전원이 켜지지 않았다는 것을 의미합니다.

dwEventState

스마트 카드 리소스 관리자로 알려진 판독기의 현재 상태입니다. 이 필드는 다음 값 중 하나로 비트 마스크로 사용할 수 있습니다.

의미
SCARD_STATE_IGNORE
이 판독기는 무시해야 합니다.
SCARD_STATE_CHANGED
애플리케이션에서 믿는 상태와 리소스 관리자가 알고 있는 상태 사이에는 차이가 있습니다. 이 비트를 설정하면 애플리케이션에서 이 판독기에서 상당한 상태 변경이 발생했다고 가정할 수 있습니다.
SCARD_STATE_UNKNOWN
지정된 판독기 이름이 리소스 관리자에서 인식되지 않습니다. 이 비트가 설정되면 SCARD_STATE_CHANGED 및 SCARD_STATE_IGNORE 설정됩니다.
SCARD_STATE_UNAVAILABLE
이 판독기의 실제 상태를 사용할 수 없습니다. 이 비트가 설정되면 다음 모든 비트가 명확합니다.
SCARD_STATE_EMPTY
판독기에서 카드 없습니다. 이 비트를 설정하면 다음 비트가 모두 명확합니다.
SCARD_STATE_PRESENT
판독기에서 카드 있습니다.
SCARD_STATE_ATRMATCH
대상 카드 중 하나와 일치하는 ATR이 있는 카드 판독기에서 있습니다. 이 비트가 설정되면 SCARD_STATE_PRESENT 설정됩니다. 이 비트는 SCardLocateCards 함수에서만 반환됩니다.
SCARD_STATE_EXCLUSIVE
판독기에서 카드 다른 애플리케이션에서 단독으로 사용하도록 할당됩니다. 이 비트가 설정되면 SCARD_STATE_PRESENT 설정됩니다.
SCARD_STATE_INUSE
판독기에서 카드 하나 이상의 다른 애플리케이션에서 사용 중이지만 공유 모드에서 에 연결될 수 있습니다. 이 비트가 설정되면 SCARD_STATE_PRESENT 설정됩니다.
SCARD_STATE_MUTE
판독기에서 응답하지 않는 카드 있습니다.
SCARD_STATE_UNPOWERED
이는 판독기에서 카드 전원이 켜지지 않았다는 것을 의미합니다.

cbAtr

반환된 ATR의 바이트 수입니다.

rgbAtr[36]

추가 맞춤 바이트를 사용하여 삽입된 카드 ATR입니다.

설명

참고

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winscard.h

추가 정보

SCardGetStatusChange

SCardLocateCards