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 포함) |