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 可以包含下表中列出的任何值。

价值 描述
KSMEMORY_TYPE_WILDCARD/KSMEMORY_TYPE_DONT_CARE/KSTYPE_DONT_CARE 指示内存分配可以是任何类型的内存。
KSMEMORY_TYPE_SYSTEM 指示内存分配必须是系统内存。
KSMEMORY_TYPE_USER 指示内存分配必须是用户模式内存。
KSMEMORY_TYPE_KERNEL_PAGED 指示内存分配必须是内核分页内存。 这对应于 PoolTypeKSALLOCATOR_FRAMING 结构的成员设置为 PagedPoolRequirementsFlags 此结构的成员设置为SYSTEM_MEMORY。
KSMEMORY_TYPE_KERNEL_NONPAGED 指示内存分配必须是内核非分页内存。 这对应于设置为 NonPagedPoolKSALLOCATOR_FRAMING 结构的 PoolType 成员,以及此结构设置为 SYSTEM_MEMORY 的 RequirementsFlags 成员。
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 结构中的 OptionsFlagsRequirementsFlags 联合,并添加了添加对管道的支持的标志。

Frames

指定允许的未完成帧总数。 对应于 KSALLOCATOR_FRAMING 结构的 成员。

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