KS_FRAMING_ITEM 構造体 (ks.h)

KS_FRAMING_ITEM構造体は、カーネル モード のピンでアロケーターの要件を宣言するために使用されます。

構文

typedef struct {
  GUID                      MemoryType;
  GUID                      BusType;
  ULONG                     MemoryFlags;
  ULONG                     BusFlags;
  ULONG                     Flags;
  ULONG                     Frames;
  union {
    ULONG FileAlignment;
    LONG  FramePitch;
  };
  ULONG                     MemoryTypeWeight;
  KS_FRAMING_RANGE          PhysicalRange;
  KS_FRAMING_RANGE_WEIGHTED FramingRange;
} KS_FRAMING_ITEM, *PKS_FRAMING_ITEM;

メンバー

MemoryType

バッファーとデータ フレームに使用されるメモリの種類を指定します。 このメンバーと、KSALLOCATOR_FRAMING構造体の PoolType メンバーの間には部分的な対応があります。 2 つのメンバーは、 PoolType ではページプールまたは非ページ プールのみを許可するという点で異なります。 MemoryType には、次の表に示す任意の値を指定できます。

説明
KSMEMORY_TYPE_WILDCARD/KSMEMORY_TYPE_DONT_CARE/KSTYPE_DONT_CARE メモリ割り当てに任意の種類のメモリを指定できることを示します。
KSMEMORY_TYPE_SYSTEM メモリ割り当てがシステム メモリである必要があることを示します。
KSMEMORY_TYPE_USER メモリ割り当てがユーザー モード メモリである必要があることを示します。
KSMEMORY_TYPE_KERNEL_PAGED メモリ割り当てがカーネル ページ メモリである必要があることを示します。 これは、PagedPool に設定されたKSALLOCATOR_FRAMING構造体の PoolType メンバーと、この構造体の RequirementsFlags メンバーに対応SYSTEM_MEMORY。
KSMEMORY_TYPE_KERNEL_NONPAGED メモリ割り当てがカーネル非ページ メモリである必要があることを示します。 これは、NonPagedPool に設定されたKSALLOCATOR_FRAMING構造体の PoolType メンバーと、この構造体の RequirementsFlags メンバーに対応SYSTEM_MEMORY。
KSMEMORY_TYPE_DEVICE_UNKNOWN デバイスのメモリ割り当ての種類が指定されていないことを示します。

BusType

MemoryType で指定された物理メモリにアクセスする物理バスを指定します。 このフィールドを使用して、接続メディアに使用されるバスに基づいて互換性のあるメモリの種類を決定します。 この区別は、ピンが接続メディアに基づいて異なるメモリの種類を公開する場合に重要です。 BusType には、次の表に示す任意の値を指定できます。

説明
GUID_BUS_TYPE_PCI 周辺機器コンポーネント相互接続バス。
GUID_BUS_TYPE_USB ユニバーサル シリアル バス。
GUID_BUS_TYPE_1394 IEEE 1394 シリアル バス。
GUID_BUS_TYPE_AVC オーディオ/ビデオ コントロール バス。
GUID_61883_CLASS 61883 プロトコル バス。

MemoryFlags

接続ポイントがフレーム割り当てを担当することを指定します。 KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATEに設定する必要があります。

BusFlags

使用されていません。

Flags

KSALLOCATOR_FRAMING構造体の OptionsFlagsRequirementsFlags 共用体と同様に、パイプのサポートを追加するフラグが追加されています。

Frames

許容される未処理フレームの合計数を指定します。 KSALLOCATOR_FRAMING構造体の Frames メンバーに対応します。

FileAlignment

フレームの配置の要件。 KSALLOCATOR_FRAMING構造体の FileAlignment メンバー 対応します。

FramePitch

LONG メンバー FramePitch を定義します

MemoryTypeWeight

このメモリ型のピン幅の重みを指定する ULONG 型の値。

PhysicalRange

フレーム サイズの物理的な制限を指定する KS_FRAMING_RANGE 型の構造体。

FramingRange

フレーム サイズの最適な範囲を指定する KS_FRAMING_RANGE_WEIGHTED 型の構造体。

注釈

メモリ アドレス指定機能を示すKSALLOCATOR_FLAG_CAN_ALLOCATEを設定しないでください。 フィルターは、このバス上のメモリ アドレスを参照することで、デバイス固有のバス経由でデバイス固有のメモリにアクセスできる場合があり、このデバイス固有のメモリを割り当てるプロトコルはサポートされていません。

KSALLOCATOR_FRAMING_EX インスタンスには、1 つ以上のフレーミング項目が含まれています。

要件

要件
Header ks.h (Ks.h を含む)

こちらもご覧ください

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED