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 にある呼び出し元のスレッドで実行されます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | parallel.h (Parallel.h を含む) |