次の方法で共有


IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)

IOCTL_SMARTCARD_IS_PRESENT 制御コードは、スマート カードが現在検出されているかどうかを検出します。 カードが存在する場合は、STATUS_SUCCESSですぐに返されます。 スマート カードが検出されない場合は、スマート カード到着イベントをサブスクライブし、保留中の状態が維持されます。 ファイル ハンドルを閉じると、イベントのサブスクライブが解除されます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

何一つ。

出力バッファー

何一つ。

状態ブロック

Irp->IoStatus.Status は、要求が成功した場合に STATUS_SUCCESS に設定されます。 考えられるエラー コードは次のとおりです。

リターン コード 形容
STATUS_PENDING このコードは、操作がスマート カードが無線フィールドに近づくのを待機している場合に返されます。
STATUS_DEVICE_BUSY このコードは、操作が現在のイベントを既に待機している場合に返されます。
STATUS_INVALID_DEVICE_STATE このコードは、デバイスが要求を受け入れられない場合に返されます。
STATUS_INVALID_PARAMETER このコードは、入力バッファーまたは出力バッファーが無効な場合に返されます。
STATUS_DEVICE_POWERED_OFF このコードは、近接無線制御がオフのときに返されます。

備考

この IOCTL を使用する場合は、次のアクションが必要です。

  • ドライバーは、このペンド IOCTL で CancelIo をサポートする必要があります。

  • これは、電源管理された要求です。 ペンドされた IOCTL は、ドライバーを D0 電源状態に保ちます。
  • ドライバーは、サポートされている型に対してのみSTATUS_SUCCESSを返す必要があります。

必要条件

要件 価値
ヘッダー winsmcrd.h

関連項目

近距離無線通信 (NFC) 設計ガイド

スマート カード設計ガイド