次の方法で共有


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

使用されていません。

戻り値

リターン コード 説明
STATUS_SUCCESS
呼び出し元から提供されたデータがデバイスに正常に転送されました。
STATUS_Xxx
内部操作の結果、NTSTATUS エラーが発生しました。

注釈

システム指定のPPARALLEL_WRITE コールバックへのポインターを取得するために、カーネル モード ドライバーは、PARCLASS_INFORMATION構造体を返すIOCTL_INTERNAL_PARCLASS_CONNECT要求を使用します。 PARCLASS_INFORMATION構造体の ParallelWrite メンバーは、このコールバックへのポインターです。

クライアントは、並列ポートにロックがある場合にのみ、このルーチンを使用できます。 クライアントは、 IOCTL_INTERNAL_LOCK_PORT 要求を使用して並列ポートのロックを取得します。

PPARALLEL_WRITE コールバックは、呼び出し元の IRQL で呼び出し元のスレッドで実行されます。

要件

要件
対象プラットフォーム デスクトップ
Header parallel.h (Parallel.h を含む)

こちらもご覧ください

PPARALLEL_READ

IOCTL_INTERNAL_LOCK_PORT