共用方式為


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 結構中的 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 實例都包含一或多個框架專案。

規格需求

需求
標頭 ks.h (包含 Ks.h)

另請參閱

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED