Share via


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_EXTENSIONOsData-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 を含む)