次の方法で共有


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 を含む)

FLT_FILE_NAME_INFORMATION

FltGetDestinationFileNameInformation

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod