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
このメンバーには、カードの状態が含まれており、必須です。 このメンバーには、次の表に示す値のいずれかを指定できます。
Status | 意味 |
---|---|
SCARD_UNKNOWN | リーダーには、状態に関する情報がありません。 |
SCARD_ABSENT | スマート カードは挿入されません。 |
SCARD_PRESENT | スマート カードが挿入されます。 |
SCARD_SWALLOWED | スマートカードが挿入され、リーダーがそれを飲み込んだ。 |
SCARD_POWERED | スマート カードはオンになっていますが、リーダーはそのモードを認識しません。 |
SCARD_NEGOTIABLE | スマート カードが挿入され、プロトコル ネゴシエーションが待機されます。 |
SCARD_SPECIFIC | スマート カードが挿入され、プロトコルが選択されています。 |
このフィールドへのアクセスは、SMARTCARD_EXTENSION の OsData-SpinLock> メンバーが指すスピン ロックを使用して順次化する必要があります。
Channel
論理チャネル番号を格納します。 このメンバーは省略可能です。 このメンバーの正確な意味は、次の表に示すように、スマート カードの種類によって異なります。
スマート カードの種類 | チャネル フィールドの値の意味 |
---|---|
シリアル リーダー | ポート番号 |
並列リーダー | ポート番号 |
SCSI リーダー | SCSI ID |
キーボード リーダー | 0 |
USB リーダー | デバイス番号 |
詳細については、「 ICC とパーソナル コンピューター システムの相互運用性の仕様」のパート 3 を参照してください。
CLKFrequency
次のメンバーを持つ構造体。
CLKFrequency.Default
リーダーが実行され、キロヘルツ単位で、リトル エンディアン形式でエンコードされる標準クロック周波数が含まれます。 たとえば、3.58 MHz は 3580 としてエンコードされます。 このメンバーは必須です。
CLKFrequency.Max
リーダーが実行できる最大クロック周波数をキロヘルツ単位で格納し、リトル エンディアン形式でエンコードします。 このメンバーは必須です。
DataRate
次のメンバーを持つ構造体。
DataRate.Default
リーダーの標準データ レートを 1 秒あたりのビット単位で格納し、リトル エンディアン形式でエンコードします。 このメンバーは必須です。
DataRate.Max
リーダーの最大データ レートを 1 秒あたりのビット単位で格納し、リトル エンディアン形式でエンコードします。 このメンバーは必須です。
MaxIFSD
リーダーの最大バッファー サイズを格納します。 この値は、T=1 送信の先頭にあるスマート カードに、1 つのパケットで受信できる最大バイト数を通知します。 このメンバーは必須です。
PowerMgmtSupport
カードがサポートする電源管理の種類を示します。 0 の値は、スマート カードが電源管理をサポートしていないことを示します。
CardConfiscated
TRUE の場合は、スマート カードが没収されたことを示します。
DataRatesSupported
次のメンバーを持つ構造体。
DataRatesSupported.List
リーダーでサポートされているデータ レートの一覧 (ビット/秒) が含まれます。 このメンバーは PTS 要求と共に使用されます。 リーダー ドライバーは通常、サポートされているデータ レートを含む符号なし long 値の静的配列へのポインターにこのメンバーを設定します。 リーダーが異なるデータ レートをサポートしていない場合は、このメンバーを空のままにします。 このメンバーは省略可能です。
DataRatesSupported.Entries
DataRatesSupported.List のリンク リスト エントリの数を格納します。 このメンバーは省略可能です。
_DataRatesSupported
次のメンバーを持つ 構造体。
CLKFrequenciesSupported
次のメンバーを持つ 構造体。
CLKFrequenciesSupported.List
リーダーでサポートされているクロック周波数の一覧 (キロヘルツ単位) が含まれています。 このメンバーは PTS 要求と共に使用されます。 ドライバーは通常、サポートされているクロック周波数を含む符号なし長い値の静的配列へのポインターにこのメンバーを設定します。 リーダーが異なるクロック周波数をサポートしていない場合は、このメンバーを空のままにします。 このメンバーは省略可能です。
CLKFrequenciesSupported.Entries
CLKFrquenciesSupported.List のリンク リスト エントリの数を格納します。 このメンバーは省略可能です。
_CLKFrequenciesSupported
次のメンバーを持つ 構造体。
Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)]
システムで使用するために予約されています。
注釈
この構造は、スマート カード リーダー ドライバーによって維持される必要があります。
要件
要件 | 値 |
---|---|
Header | smclib.h (Smclib.h を含む) |