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