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 |
Header | fltuserstructures.h (FltUser.h、FltKernel.h を含む) |
こちらもご覧ください
FltEnumerateInstanceInformationByFilter