FLT_FILE_NAME_OPTIONS
FLT_FILE_NAME_OPTIONS 型は、ファイル名情報クエリの名前の形式、クエリ メソッド、フラグを指定する ULONG 値です。
typedef ULONG FLT_FILE_NAME_OPTIONS;
#define FLT_VALID_FILE_NAME_FORMATS 0x000000ff
#define FLT_FILE_NAME_NORMALIZED 0x00000001
#define FLT_FILE_NAME_OPENED 0x00000002
#define FLT_FILE_NAME_SHORT 0x00000003
#define FLT_VALID_FILE_NAME_QUERY_METHODS 0x0000ff00
#define FLT_FILE_NAME_QUERY_DEFAULT 0x00000100
#define FLT_FILE_NAME_QUERY_CACHE_ONLY 0x00000200
#define FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY 0x00000300
#define FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP 0x00000400
#define FLT_VALID_FILE_NAME_FLAGS 0xff000000
#define FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER 0x01000000
#define FLT_FILE_NAME_DO_NOT_CACHE 0x02000000
#define FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE 0x04000000
ビット 0 から 7 は、FltGetFileNameFormat マクロを使用してクエリできるファイル形式を示します。 これらの形式の説明は、FLT_FILE_NAME_INFORMATION を参照してください。 現在、次の値が定義されています。
Value | 意味 |
---|---|
FLT_FILE_NAME_NORMALIZED | ファイルの正規化された名前。 |
FLT_FILE_NAME_OPENED | ハンドルがこのファイルに対して開かれたときに使用された名前。 この名前は正規化されません。 |
FLT_FILE_NAME_SHORT | ファイルの短い (8.3) 名前。 ファイルの短い名前には、ボリューム名、ディレクトリ パス、またはストリーム名は含まれません。 この名前は正規化されません。 |
ビット 8 から 15 は、FltGetFileNameQueryMethod マクロを使用してクエリできる、フィルター マネージャーで使用されるファイル名クエリ メソッドを指定します。 これらの値の説明は、FltGetFileNameInformation を参照してください。 現在、次の値が定義されています。
Value | 意味 |
---|---|
FLT_FILE_NAME_QUERY_DEFAULT | 現在、ファイル システムに対して安全にファイル名をクエリできない場合は、何も行わないでください。 それ以外の場合は、フィルター マネージャーの名前キャッシュに対してファイル名情報をクエリします。 キャッシュで名前が見つからない場合は、ファイル システムに対してクエリを実行し、結果をキャッシュします。 |
FLT_FILE_NAME_QUERY_CACHE_ONLY | フィルター マネージャーの名前キャッシュに対してファイル名情報をクエリします。 ファイル システムに対してはクエリを実行しないでください。 |
FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY | ファイル システムに対してファイル名情報をクエリします。 フィルター マネージャーの名前キャッシュに対してクエリを実行しないでください。また、ファイル システム クエリの結果をキャッシュしないでください。 |
FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP | フィルター マネージャーの名前キャッシュに対してファイル名情報をクエリします。 名前がキャッシュで見つからず、現在ファイル システムで安全にファイル名情報をクエリできる場合は、クエリを実行し、結果をキャッシュします。 |
ビット 16 から 23 は現在使用されていません。
ビット 24 から 31 は、ファイル名フラグを指定するために名前プロバイダーのミニフィルターによって使用されます。 現在、次の値が定義されています。
Value | 意味 |
---|---|
FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER | 名前プロバイダーのミニフィルターでは、このフラグを使用して、名前クエリ要求がスタックの下位にある名前プロバイダーのフィルターによって満たされるのではなく、それ自体にリダイレクトされる必要があることを示すことができます。 |
FLT_FILE_NAME_DO_NOT_CACHE | このフラグは、このクエリから取得された名前をキャッシュしてはならないことを示します。 名前プロバイダーのミニフィルターは、中間クエリを実行して名前を生成する場合に、このフラグを使用します。 |
FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE | 名前プロバイダーのミニフィルターは、このフラグを使用して、STATUS_REPARSE が返された場合でも、作成後パス内の名前に対して安全にクエリを実行できることを示すことができます。 FileObject->FileName フィールドが変更されていないことは、呼び出し元が確認する必要があります。 マウント ポイントまたはシンボリック リンクの再解析ポイントでは、このフラグを使用しないでください。 |
要件
要件タイプ | 要件 |
---|---|
ヘッダー | Fltkernel.h (Fltkernel.h を含む) |
関連記事
FltGetDestinationFileNameInformation