FltFsControlFile 関数 (fltkernel.h)
FltFsControlFile ルーチンは、コントロール コードを指定したファイル システムまたはファイル システム フィルター ドライバーに直接送信し、対応するドライバーが指定したアクションを実行します。
構文
NTSTATUS FLTAPI FltFsControlFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[out, optional] PULONG LengthReturned
);
パラメーター
[in] Instance
呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、NULL することはできません。
[in] FileObject
この要求のターゲットであるファイルまたはディレクトリのファイル オブジェクト ポインター。 このパラメーターは必須であり、NULL することはできません。
[in] FsControlCode
FSCTL_XXX、実行するファイル システム操作を示すコードです。このパラメーターの値は、InputBuffer と OutputBufferの形式と必要な長さを決定し、次のパラメーター ペア (InputBuffer と InputBufferLength OutputBuffer と OutputBufferLength ) が必要を決定します。
[in, optional] InputBuffer
ターゲット ドライバーに渡されるデバイス固有の情報を含む、呼び出し元によって割り当てられた入力バッファーへのポインター。 FsControlCode パラメーターが入力データを必要としない操作を指定する場合、このパラメーターは省略可能であり、NULL できます。
[in] InputBufferLength
InputBufferのバッファーのサイズ (バイト単位)。 InputBuffer NULL 場合、この値は無視されます。
[out, optional] OutputBuffer
ターゲット ドライバーから情報が返される呼び出し元によって割り当てられた出力バッファーへのポインター。 FsControlCode パラメーターが出力データを必要としない操作を指定する場合、このパラメーターは省略可能であり、NULL できます。
[in] OutputBufferLength
OutputBufferのバッファーのサイズ (バイト単位)。 OutputBuffer が NULL 場合、この値は無視されます。
[out, optional] LengthReturned
OutputBuffer でバッファーに返される情報のサイズ (バイト単位) を受け取る呼び出し元によって割り当てられた変数ポインター。 このパラメーターは省略可能であり、NULL できます。
戻り値
FltFsControlFile 、STATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
備考
ミニフィルター ドライバーは、ZwFsControlFile ではなく、このルーチン呼び出す必要があります。
現在、カーネル モード ドライバーについては、次の FSCTL コードが記載されています。
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
システム定義FSCTL_XXX コードの詳細については、Microsoft Windows SDK ドキュメントの DeviceIoControl のリファレンス エントリの「解説」セクションを参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |
関連項目
FltDeviceIoControlFile の