Share via


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型の構造体は、ページ プールまたは非ページ プールから割り当てられます。 この構造体は、次のようなルーチンにパラメーターとして渡されます。

INSTANCE_AGGREGATE_STANDARD_INFORMATION構造体は、LONGLONG (8 バイト) 境界に配置する必要があります。 バッファーにこれらの構造体が 2 つ以上含まれている場合、各エントリの NextEntryOffset 値は 8 バイトの境界になります。

要件

要件
サポートされている最小のクライアント Windows Vista
Header fltuserstructures.h (FltUser.h、FltKernel.h を含む)

こちらもご覧ください

FilterInstanceFindFirst

FilterInstanceFindNext

FilterInstanceGetInformation

FilterVolumeInstanceFindFirst

FilterVolumeInstanceFindNext

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltGetInstanceInformation

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION