次の方法で共有


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、実行するファイル システム操作を示すコードです。このパラメーターの値は、InputBufferOutputBufferの形式と必要な長さを決定し、次のパラメーター ペア (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_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FSCTL_SET_REPARSE_POINT

システム定義FSCTL_XXX コードの詳細については、Microsoft Windows SDK ドキュメントの DeviceIoControl のリファレンス エントリの「解説」セクションを参照してください。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

関連項目

FltDeviceIoControlFile

ZwFsControlFile