次の方法で共有


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

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

Frames

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

FileAlignment

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

FramePitch

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

MemoryTypeWeight

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

PhysicalRange

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

FramingRange

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

備考

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

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

必要条件

要件 価値
ヘッダー ks.h (Ks.h を含む)

関連項目

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED