次の方法で共有


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 スマート カードが挿入され、プロトコルが選択されています。
 

このフィールドへのアクセスは、OsData->SpinLockSMARTCARD_EXTENSIONメンバーが指すスピン ロックを使用して順次化する必要があります。

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

リーダーでサポートされているデータ レートの一覧 (1 秒あたりのビット数) が含まれます。 このメンバーは 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)]

システム用に予約されています。

備考

この構造は、スマート カード リーダー ドライバーによって維持される必要があります。

必要条件

要件 価値
ヘッダー smclib.h (Smclib.h を含む)