INSTANCE_AGGREGATE_STANDARD_INFORMATION構造体 (fltuserstructures.h)
呼び出し元によって割り当てられた INSTANCE_AGGREGATE_STANDARD_INFORMATION 構造体には、ミニフィルター ドライバー インスタンスまたはレガシ フィルター ドライバーに関する集計標準情報が含まれています。
構文
typedef struct _INSTANCE_AGGREGATE_STANDARD_INFORMATION {
ULONG NextEntryOffset;
ULONG Flags;
union {
struct {
ULONG Flags;
ULONG FrameID;
FLT_FILESYSTEM_TYPE VolumeFileSystemType;
USHORT InstanceNameLength;
USHORT InstanceNameBufferOffset;
USHORT AltitudeLength;
USHORT AltitudeBufferOffset;
USHORT VolumeNameLength;
USHORT VolumeNameBufferOffset;
USHORT FilterNameLength;
USHORT FilterNameBufferOffset;
ULONG SupportedFeatures;
} MiniFilter;
struct {
ULONG Flags;
USHORT AltitudeLength;
USHORT AltitudeBufferOffset;
USHORT VolumeNameLength;
USHORT VolumeNameBufferOffset;
USHORT FilterNameLength;
USHORT FilterNameBufferOffset;
ULONG SupportedFeatures;
} LegacyFilter;
} Type;
} INSTANCE_AGGREGATE_STANDARD_INFORMATION, *PINSTANCE_AGGREGATE_STANDARD_INFORMATION;
メンバーズ
NextEntryOffset
バッファーに複数の構造体が存在する場合の、次の INSTANCE_AGGREGATE_STANDARD_INFORMATION 構造体のバイト オフセット。 このメンバーの後に他の構造体がない場合、このメンバーは 0 になります。
Flags
フィルター ドライバーがレガシ フィルター ドライバーかミニフィルター ドライバーかを示します。 このメンバーには、次のいずれかのフラグが含まれている必要があります。
旗 | 意味 |
---|---|
FLTFL_IASI_IS_MINIFILTER | フィルター ドライバーはミニフィルター ドライバーです。共用体の MiniFilter 部分を使用します。 |
FLTFL_IASI_IS_LEGACYFILTER | フィルター ドライバーはレガシ フィルター ドライバーです。共用体の LegacyFilter 部分を使用します。 |
Type
次のメンバーを持つ入れ子構造変数。
Type.MiniFilter
Type.MiniFilter.Flags
ミニフィルター インスタンスの属性を記述するフラグのビットマスク。 有効なフラグ値を次に示します。
旗 | 意味 |
---|---|
FLTFL_IASIM_DETACHED_VOLUME | 現在、ボリュームはストレージ スタックに接続されていません。 |
Type.MiniFilter.FrameID
ミニフィルター インスタンスが存在するフィルター マネージャー フレームを識別するために使用される 0 から始まるインデックス。
Type.MiniFilter.VolumeFileSystemType
ミニフィルター インスタンスがアタッチされているファイル システムの種類を識別します。 このメンバーに使用できる値は、FLT_FILESYSTEM_TYPEに記載されています。
Type.MiniFilter.InstanceNameLength
ミニフィルター インスタンス名の長さ (バイト単位)。
Type.MiniFilter.InstanceNameBufferOffset
Unicode ミニフィルター インスタンス名文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Type.MiniFilter.AltitudeLength
ミニフィルター インスタンス高度文字列の長さ (バイト単位)。
Type.MiniFilter.AltitudeBufferOffset
Unicode ミニフィルター インスタンス高度文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Type.MiniFilter.VolumeNameLength
ミニフィルター インスタンスがアタッチされているボリュームのボリューム名の長さ (バイト単位)。
Type.MiniFilter.VolumeNameBufferOffset
ミニフィルター インスタンスがアタッチされているボリュームの Unicode ボリューム名文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Type.MiniFilter.FilterNameLength
ミニフィルター インスタンスの派生元のミニフィルターのミニフィルター名の長さ (バイト単位)。
Type.MiniFilter.FilterNameBufferOffset
ミニフィルター インスタンスの派生元のミニフィルターの Unicode ミニフィルター名文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Type.MiniFilter.SupportedFeatures
ミニフィルターの SupportedFeatures レジストリ値で指定されているフィルターのサポートされている機能フラグ。 サポートされている機能は、次のフラグのビットごとの OR の組み合わせです。
価値 | 意味 |
---|---|
SUPPORTED_FS_FEATURES_OFFLOAD_READ (0x01) | ボリュームでは、オフロードされた読み取り操作がサポートされます。 |
SUPPORTED_FS_FEATURES_OFFLOAD_WRITE (0x02) | ボリュームでは、オフロードされた書き込み操作がサポートされます。 |
SUPPORTED_FS_FEATURES_QUERY_OPEN (0x04) | ボリュームでは、クエリを開く操作がサポートされています。 |
SUPPORTED_FS_FEATURES_BYPASS_IO (0x08) | ボリュームでは、BypassIOがサポートされます。 このフラグは、Windows 11 以降で使用できます。 |
Type.LegacyFilter
次のメンバーを持つ入れ子構造変数。
Type.LegacyFilter.Flags
レガシ フィルターの属性を記述するフラグのビットマスク。 有効なフラグ値を次に示します。
旗 | 意味 |
---|---|
FLTFL_IASIL_DETACHED_VOLUME | 現在、ボリュームはストレージ スタックに接続されていません。 |
Type.LegacyFilter.AltitudeLength
レガシ フィルター高度文字列の長さ (バイト単位)。
Type.LegacyFilter.AltitudeBufferOffset
Unicode レガシ フィルター高度文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Windows Vista 以降では、ドライバーの読み込み順序グループに基づいて、高度がレガシ フィルター ドライバーに割り当てられます。 これにより、ミニフィルター ドライバーが、1 つ以上のフィルター ドライバーが順正しく読み込まれていない場合でも、レガシ フィルター ドライバーの上と下に適切に重ねて表示されます。
Type.LegacyFilter.VolumeNameLength
レガシ フィルターがアタッチされているボリュームのボリューム名の長さ (バイト単位)。
Type.LegacyFilter.VolumeNameBufferOffset
レガシ フィルターがアタッチされているボリュームの Unicode ボリューム名文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Type.LegacyFilter.FilterNameLength
レガシ フィルター名の長さ (バイト単位)。
Type.LegacyFilter.FilterNameBufferOffset
Unicode レガシ フィルター名文字列の最初の文字のバイト オフセット (構造体の先頭を基準)。 この文字列は NULL で終わるものではありません。
Type.LegacyFilter.SupportedFeatures
レガシ フィルターでサポートされている機能フラグ。
サポートされている機能は、次のフラグのビットごとの OR の組み合わせです。
価値 | 意味 |
---|---|
SUPPORTED_FS_FEATURES_OFFLOAD_READ (0x01) | ボリュームでは、オフロードされた読み取り操作がサポートされます。 |
SUPPORTED_FS_FEATURES_OFFLOAD_WRITE (0x02) | ボリュームでは、オフロードされた書き込み操作がサポートされます。 |
備考
INSTANCE_AGGREGATE_STANDARD_INFORMATION 型の構造体は、ページ プールまたは非ページ プールから割り当てることができます。 この構造体は、次のようなルーチンにパラメーターとして渡されます。
- FilterInstanceFindFirst
- FilterInstanceFindNext
- FilterInstanceGetInformation
- FilterVolumeInstanceFindFirst
- FilterVolumeInstanceFindNext
- FltEnumerateInstanceInformationByFilter の
- FltEnumerateInstanceInformationByVolume の
- FltGetInstanceInformation の
INSTANCE_AGGREGATE_STANDARD_INFORMATION構造体は、LONGLONG (8 バイト) 境界に配置する必要があります。 バッファーにこれらの構造体が 2 つ以上含まれている場合、各エントリの NextEntryOffset 値は 8 バイトの境界にあります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ヘッダー | fltuserstructures.h (FltUser.h、FltKernel.h を含む) |
関連項目
FltEnumerateInstanceInformationByFilter の
FltEnumerateInstanceInformationByVolume の
FltGetInstanceInformation の