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成員之間有部分對應。 PoolType 中的兩個成員不同,只允許分頁或非分頁集區。 MemoryType 可以有下表所列的任何值。
值 | Description |
---|---|
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 | 表示記憶體配置必須是核心非分頁記憶體。 這對應至KSALLOCATOR_FRAMING結構的 PoolType 成員設定為 NonPagedPool,而此結構的 RequirementsFlags 成員會設定為 SYSTEM_MEMORY。 |
KSMEMORY_TYPE_DEVICE_UNKNOWN | 表示未指定裝置記憶體配置類型。 |
BusType
指定存取 MemoryType 所指定實體記憶體的實體總線。 使用此欄位,根據用於連接媒體的總線來判斷相容的記憶體類型。 當針腳根據連線媒體公開不同的記憶體類型時,這項區別非常重要。 BusType 可以有下表所列的任何值。
類型 | Description |
---|---|
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 實例都包含一或多個框架專案。
規格需求
需求 | 值 |
---|---|
標頭 | ks.h (包含 Ks.h) |