FltSetInformationFile 関数 (fltkernel.h)
FltSetInformationFile は 、特定のファイルの情報を設定します。
構文
NTSTATUS FLTAPI FltSetInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass
);
パラメーター
[in] Instance
呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、 NULL にすることはできません。
[in] FileObject
ファイルのファイル オブジェクト ポインター。 このパラメーターは必須であり、 NULL にすることはできません。
[in] FileInformation
ファイルに設定する情報を含む呼び出し元によって割り当てられたバッファーへのポインター。 FileInformationClass パラメーターは、情報の種類を指定します。 このパラメーターは必須であり、 NULL にすることはできません。
[in] Length
FileInformation バッファーのサイズ (バイト単位)。
[in] FileInformationClass
ファイルに設定する情報の種類を指定します。 次の値が定義されています。
値 | 意味 |
---|---|
FileAllocationInformation | ファイル のFILE_ALLOCATION_INFORMATION を設定します。 |
FileBasicInformation | ファイル のFILE_BASIC_INFORMATION を設定します。 |
FileDispositionInformation | ファイル のFILE_DISPOSITION_INFORMATION を設定します。 |
FileEndOfFileInformation | ファイル のFILE_END_OF_FILE_INFORMATION を設定します。 |
FileLinkInformation | ファイル のFILE_LINK_INFORMATION を設定します。 |
FilePositionInformation | ファイル のFILE_POSITION_INFORMATION を設定します。 |
FileRenameInformation | ファイル のFILE_RENAME_INFORMATION を設定します。 ファイル名の変更の詳細については、次の「解説」セクションを参照してください。 |
FileValidDataLengthInformation | ファイル のFILE_VALID_DATA_LENGTH_INFORMATION を設定します。 |
戻り値
FltSetInformationFile は 、STATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
注釈
ミニフィルター ドライバーは 、FltSetInformationFile を呼び出して、特定のファイルの情報を設定します。 ファイルは現在開いている必要があります。
ファイル名の変更操作では、 FltSetInformationFile に渡されるパラメーター値に次の制限があります。 FILE_RENAME_INFORMATIONの参照エントリに記載されているように、ファイルまたはディレクトリの名前はボリューム内でのみ変更できます。 言い換えると、名前の変更操作では、ファイルまたはディレクトリを別のボリュームに移動することはできません。 ZwSetInformationFile とは異なり、FltSetInformationFile はFILE_RENAME_INFORMATION構造体の内容を検証しません。 したがって、 FltSetInformationFile の呼び出し元は、ファイルまたはディレクトリの新しい名前が古い名前と同じボリューム上にあることを確認します。
ミニフィルター ドライバーでは、ファイルの名前を変更するには、ZwSetInformationFile ではなく FltSetInformationFile を使用する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |