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構造体の OptionsFlags と RequirementsFlags 共用体と同様に、パイプのサポートを追加するフラグが追加されています。
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 を含む) |