다음을 통해 공유


SCARD_READER_CAPABILITIES 구조체(smclib.h)

SCARD_READER_CAPABILITIES 구조에는 스마트 카드 판독기에 대한 상태 정보가 있습니다.

구문

typedef struct _SCARD_READER_CAPABILITIES {
  ULONG                    SupportedProtocols;
  ULONG                    Reserved;
  ULONG                    ReaderType;
  ULONG                    MechProperties;
  ULONG                    CurrentState;
  ULONG                    Channel;
  struct {
    ULONG Default;
    ULONG Max;
  } CLKFrequency;
  struct {
    ULONG Default;
    ULONG Max;
  } DataRate;
  ULONG                    MaxIFSD;
  ULONG                    PowerMgmtSupport;
  ULONG                    CardConfiscated;
  struct {
    PULONG List;
    UCHAR  Entries;
  } DataRatesSupported;
  _DataRatesSupported      _DataRatesSupported;
  struct {
    PULONG List;
    UCHAR  Entries;
  } CLKFrequenciesSupported;
  _CLKFrequenciesSupported _CLKFrequenciesSupported;
  UCHAR                    Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)];
} SCARD_READER_CAPABILITIES, *PSCARD_READER_CAPABILITIES;

멤버

SupportedProtocols

카드 판독기 및 카드 판독기 드라이버에서 지원하는 비동기 또는 동기 프로토콜을 반영하는 비트 마스크로 설정해야 합니다. 이 멤버는 필수입니다.

Reserved

시스템에서 사용하도록 예약되었습니다.

ReaderType

이 멤버는 판독기 형식을 포함하며 필수입니다. 이 멤버는 다음 표의 값 중 하나를 가질 수 있습니다.

의미
SCARD_READER_TYPE_SERIAL 직렬 판독기
SCARD_READER_TYPE_PCMCIA PCMCIA 판독기
SCARD_READER_TYPE_KEYBOARD 키보드 연결 판독기
SCARD_READER_TYPE_USB USB 판독기
SCARD_READER_TYPE_PARALELL 병렬 판독기
SCARD_READER_TYPE_SCSI SCSI 판독기
SCARD_READER_TYPE_IDE IDE 판독기
SCARD_READER_TYPE_TPM 키 재질 스토리지 및 암호화 작업에 TPM 칩을 사용하는 판독기
SCARD_READER_TYPE_VENDOR 독점 공급업체 버스를 사용하는 판독기

MechProperties

다음 표에 표시된 적용 가능한 모든 판독기 속성의 비트 OR을 사용하여 형성된 값을 포함합니다. 이 멤버는 선택 사항입니다.

의미
SCARD_READER_SWALLOWS 독자는 삼키는 메커니즘을 가지고 있습니다.
SCARD_READER_EJECTS 판독기는 스마트 카드 내보낼 수 있습니다.
SCARD_READER_CONFISCATES 독자는 스마트 카드 삼킬 수 있습니다.

CurrentState

이 멤버는 카드 상태 포함하며 필수입니다. 이 멤버는 다음 표에 나열된 값 중 하나를 가질 수 있습니다.

상태 의미
SCARD_UNKNOWN 판독기에서 상태 대한 정보가 없습니다.
SCARD_ABSENT 스마트 카드 삽입되지 않습니다.
SCARD_PRESENT 스마트 카드 삽입됩니다.
SCARD_SWALLOWED 스마트 카드 삽입되고 판독기가 이를 삼켰습니다.
SCARD_POWERED 스마트 카드 켜져 있지만 판독기는 해당 모드를 인식하지 못합니다.
SCARD_NEGOTIABLE 스마트 카드 삽입되고 프로토콜 협상을 기다립니다.
SCARD_SPECIFIC 스마트 카드 삽입되고 프로토콜이 선택되었습니다.
 

이 필드에 대한 액세스는 SMARTCARD_EXTENSIONOsData-SpinLock> 멤버가 가리키는 스핀 잠금을 사용하여 순차화해야 합니다.

Channel

논리 채널 번호를 포함합니다. 이 멤버는 선택 사항입니다. 이 멤버의 정확한 의미는 다음 표와 같이 스마트 카드 유형에 따라 달라집니다.

스마트 카드 유형 채널 필드의 값 의미
직렬 판독기 포트 번호
병렬 판독기 포트 번호
SCSI 판독기 SCSI ID
키보드 판독기 0
USB 판독기 디바이스 번호
 

자세한 내용은 ICC 및 개인용 컴퓨터 시스템에 대한 상호 운용성 사양의 3부를 참조하세요.

CLKFrequency

다음 멤버가 있는 구조체:

CLKFrequency.Default

판독기가 Khertz로 실행되고 little-endian 형식으로 인코딩되는 표준 클록 빈도를 포함합니다. 예를 들어 3.58MHz는 3580으로 인코딩됩니다. 이 멤버는 필수입니다.

CLKFrequency.Max

판독기가 Khertz로 실행되고 little-endian 형식으로 인코딩할 수 있는 최대 클록 빈도를 포함합니다. 이 멤버는 필수입니다.

DataRate

다음 멤버가 있는 구조체:

DataRate.Default

판독기의 표준 데이터 속도를 초당 비트 단위로 포함하고 little-endian 형식으로 인코딩합니다. 이 멤버는 필수입니다.

DataRate.Max

판독기의 최대 데이터 속도를 초당 비트 단위로 포함하고 little-endian 형식으로 인코딩합니다. 이 멤버는 필수입니다.

MaxIFSD

판독기의 최대 버퍼 크기를 포함합니다. 이 값은 T=1 전송 시작 시 스마트 카드 한 패킷에서 수신할 수 있는 최대 바이트 수를 알려줍니다. 이 멤버는 필수입니다.

PowerMgmtSupport

카드 지원하는 전원 관리 유형을 나타냅니다. 값이 0이면 스마트 카드 전원 관리를 지원하지 않음을 나타냅니다.

CardConfiscated

TRUE이면 스마트 카드 압수되었음을 나타냅니다.

DataRatesSupported

다음 멤버가 있는 구조체:

DataRatesSupported.List

판독기에서 지원하는 데이터 속도 목록을 초당 비트 단위로 포함합니다. 이 멤버는 PTS 요청과 함께 사용됩니다. 판독기 드라이버는 일반적으로 지원되는 데이터 속도를 포함하는 부호 없는 긴 값의 정적 배열에 대한 포인터로 이 멤버를 설정합니다. 판독기가 다른 데이터 속도를 지원하지 않는 경우 이 멤버를 비워 둡니다. 이 멤버는 선택 사항입니다.

DataRatesSupported.Entries

DataRatesSupported.List의 연결된 목록 항목 수를 포함합니다. 이 멤버는 선택 사항입니다.

_DataRatesSupported

다음 멤버가 있는 구조체:

CLKFrequenciesSupported

다음 멤버가 있는 구조체:

CLKFrequenciesSupported.List

판독기에서 지원하는 클록 주파수(킬로헤르츠)의 목록을 포함합니다. 이 멤버는 PTS 요청과 함께 사용됩니다. 드라이버는 일반적으로 지원되는 클록 빈도를 포함하는 부호 없는 긴 값의 정적 배열에 대한 포인터로 이 멤버를 설정합니다. 판독기가 다른 클록 주파수를 지원하지 않는 경우 이 멤버를 비워 둡니다. 이 멤버는 선택 사항입니다.

CLKFrequenciesSupported.Entries

CLKFrquenciesSupported.List의 연결된 목록 항목 수를 포함합니다. 이 멤버는 선택 사항입니다.

_CLKFrequenciesSupported

다음 멤버가 있는 구조체:

Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)]

시스템에서 사용하도록 예약되었습니다.

설명

이 구조는 스마트 카드 판독기 드라이버에서 유지 관리해야 합니다.

요구 사항

요구 사항
헤더 smclib.h(Smclib.h 포함)