KsWriteFile 関数 (ks.h)
KsWriteFile 関数は、指定したファイル オブジェクトに対して書き込みを実行します。 呼び出し元は、FO_SYNCHRONOUS_IO ファイル オブジェクトに対する操作のためにファイルへのアクセスをシリアル化していることを前提としています。 この関数は、可能であれば FastIoDispatch の使用を試みます。または、デバイス オブジェクトに対して書き込み要求を生成します。 関連するすべての統計が更新されます。
構文
KSDDKAPI NTSTATUS KsWriteFile(
[in] PFILE_OBJECT FileObject,
[in, optional] PKEVENT Event,
[in, optional] PVOID PortContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PVOID Buffer,
[in] ULONG Length,
[in, optional] ULONG Key,
[in] KPROCESSOR_MODE RequestorMode
);
パラメーター
[in] FileObject
読み取りを実行するファイル オブジェクトを指定します。
[in, optional] Event
必要に応じて、書き込みで使用するイベントを格納します。 イベントが渡されない場合、呼び出しは同期ファイル オブジェクト上にあるか、呼び出し元がファイル オブジェクトのイベントを待機していると見なされます。 呼び出しが同期ファイル オブジェクトにない場合は、非同期的に完了できます。 同期 I/O 用にファイルが開かれている場合、この変数は NULL である必要があります。 この変数を使用する場合は、オブジェクト マネージャーによって割り当てられたイベントである必要があります。
[in, optional] PortContext
必要に応じて、完了ポートのコンテキスト情報を格納します。
[out] IoStatusBlock
状態情報を返す場所を示します。 これは、リクエスター モードに関係なく、常に有効なアドレスであると見なされます。
[in] Buffer
データの書き込み元のバッファーを指定します。 バッファーをプローブしてロックする必要がある場合は、 RequesterMode と共に例外ハンドラーが使用されます。
[in] Length
渡されるバッファーのサイズを指定します。
[in, optional] Key
必要に応じて、キーを格納します。存在しない場合は 0 を指定します。
[in] RequestorMode
生成する必要がある場合に読み取り IRP に配置するプロセッサ モードを示します。 また、バッファーをプローブしてロックする必要がある場合にも使用されます。 この変数は、高速 I/O 呼び出しを実行できるかどうかを決定します。 リクエスター モードが KernelMode ではなく、以前のモードであった場合は、高速 I/O を使用できません。
戻り値
KsWriteFile 関数は、成功した場合はSTATUS_SUCCESSを返し、アクションが保留中の場合はSTATUS_PENDING、失敗した場合は読み取りエラーを返します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ks.h (Ks.h を含む) |
Library | Ks.lib |