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
OptionsFlags と RequirementsFlags、パイプのサポートを追加するフラグが追加された、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 を含む) |