PPARALLEL_READ コールバック関数 (parallel.h)
PPARALLEL_READ型のコールバック ルーチンは、並列デバイスからデータを読み取ります。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。
構文
PPARALLEL_READ PparallelRead;
NTSTATUS PparallelRead(
[in] PVOID Context,
[out] PVOID Buffer,
[in] ULONG NumBytesToRead,
[out] PULONG NumBytesRead,
[in] UCHAR Channel
)
{...}
パラメーター
[in] Context
並列デバイスの物理デバイス オブジェクト (PDO) のデバイス拡張機能へのポインター。
[out] Buffer
呼び出し元が割り当てる読み取りバッファーへのポインター。
[in] NumBytesToRead
読み取るバイト数を指定します。 呼び出し元によって割り当てられた読み取りバッファー内のバイト数以下である必要があります。
[out] NumBytesRead
並列デバイスから実際に読み取られ、呼び出し元割り当て読み取りバッファーに保存されたバイト数を指定します。
[in] Channel
使用されていません。
戻り値
リターン コード | 説明 |
---|---|
|
要求されたデータがデバイスから正常に転送されました。 |
|
内部操作の結果、NTSTATUS エラーが発生しました。 |
注釈
システム提供のPPARALLEL_READ コールバックへのポインターを取得するために、カーネル モード ドライバーは、PARCLASS_INFORMATION構造体を返すIOCTL_INTERNAL_PARCLASS_CONNECT要求を使用します。 PARCLASS_INFORMATION構造体の ParallelRead メンバーは、このコールバックへのポインターです。
クライアントは、並列ポートにロックがある場合にのみ、このルーチンを使用できます。 クライアントは、 IOCTL_INTERNAL_LOCK_PORT 要求を使用して、並列ポートのロックを取得します。
PPARALLEL_READ コールバックは、呼び出し元の IRQL にある呼び出し元のスレッドで実行されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | parallel.h (Parallel.h を含む) |