다음을 통해 공유


SCARD_READERSTATEA 구조체(winscard.h)

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

통사론

typedef struct {
  LPCSTR szReader;
  LPVOID pvUserData;
  DWORD  dwCurrentState;
  DWORD  dwEventState;
  DWORD  cbAtr;
  BYTE   rgbAtr[36];
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;

회원

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