スマート カードのコールバック パラメーター
IOCTL_SMARTCARD_IS_ABSENT および IOCTL_SMARTCARD_IS_PRESENT を除くすべての IOCTL 要求について、SmartcardDeviceControl (WDM) はコールバック ルーチンを呼び出す前に、SMARTCARD_EXTENSION 構造体の IoRequest メンバーを初期化します。 次の表は、SmartcardDeviceControl が実行する初期化の種類を示しています。
IoRequest のメンバー | SmartcardDeviceControl によって実行される初期化 |
---|---|
IoRequest.RequestBuffer |
カードに送信されるユーザー データを、このメンバーが指すバッファーに格納します。 |
IoRequest.RequestBufferLength |
このメンバーにユーザー バッファーの長さを格納します。 |
IoRequest.ReplyBuffer |
スマート カードによって返されたデータを、このメンバーが指すバッファーに格納します。 |
IoRequest.ReplyBufferLength |
応答バッファーのサイズをこのメンバーに格納します。 |
IoRequest.Information |
このメンバーが指す変数に、カードから実際に受信したバイト数を格納します。 |
MajorIoControlCode |
IOCTL 要求のメジャー I/O 制御コードをこのメンバーに格納します。 |
MinorIoControlCode |
IOCTL 要求のマイナー I/O 制御コード (存在する場合) をこのメンバーに格納します。 |
SmartcardExtension->OsData が指す構造は、次の表に示すように設定されます。
メンバー | 説明 |
---|---|
CurrentIrp |
IOCTL_SMARTCARD_IS_ABSENT と IOCTL_SMARTCARD_IS_PRESENT を除くすべての制御要求において、要求元 IRP へのポインターを受け取ります。 |
NotificationIrp |
IOCTL_SMARTCARD_IS_ABSENT と IOCTL_SMARTCARD_IS_PRESENT の制御要求において、要求元 IRP へのポインターを受け取ります。 |