estructura KS_FRAMING_ITEM (ks.h)

La estructura de KS_FRAMING_ITEM se usa para declarar los requisitos de asignador en un pin en modo kernel.

Sintaxis

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;

Miembros

MemoryType

Especifica el tipo de memoria que se usa para los búferes y los marcos de datos. Hay una correspondencia parcial entre este miembro y el miembro PoolType en la estructura KSALLOCATOR_FRAMING . Los dos miembros difieren en que PoolType solo permite el grupo paginado o no paginado. MemoryType puede tener cualquiera de los valores enumerados en la tabla siguiente.

Valor Descripción
KSMEMORY_TYPE_WILDCARD/KSMEMORY_TYPE_DONT_CARE/KSTYPE_DONT_CARE Indica que la asignación de memoria puede ser cualquier tipo de memoria.
KSMEMORY_TYPE_SYSTEM Indica que la asignación de memoria debe ser memoria del sistema.
KSMEMORY_TYPE_USER Indica que la asignación de memoria debe ser memoria en modo de usuario.
KSMEMORY_TYPE_KERNEL_PAGED Indica que la asignación de memoria debe ser memoria paginada por kernel. Esto corresponde al miembro PoolType de la estructura KSALLOCATOR_FRAMING establecida en PagedPool y el miembro RequirementsFlags de esta estructura establecido en SYSTEM_MEMORY.
KSMEMORY_TYPE_KERNEL_NONPAGED Indica que la asignación de memoria debe ser memoria no paginada del kernel. Esto corresponde al miembro PoolType de la estructura KSALLOCATOR_FRAMING establecida en NonPagedPool y el miembro RequirementsFlags de esta estructura establecido en SYSTEM_MEMORY.
KSMEMORY_TYPE_DEVICE_UNKNOWN Indica que no se especifica el tipo de asignación de memoria del dispositivo.

BusType

Especifica el bus físico que accede a la memoria física especificada por MemoryType. Use este campo para determinar un tipo de memoria compatible basado en el bus que se usa para el medio de conexión. Esta distinción es fundamental cuando un pin expone diferentes tipos de memoria en función del medio de conexión. BusType puede tener cualquiera de los valores enumerados en la tabla siguiente.

Tipo Descripción
GUID_BUS_TYPE_PCI Bus de interconexión de componente periférico.
GUID_BUS_TYPE_USB Bus serie universal.
GUID_BUS_TYPE_1394 Bus serie IEEE 1394.
GUID_BUS_TYPE_AVC Bus de control de audio y vídeo.
GUID_61883_CLASS Bus de protocolo 61883.

MemoryFlags

Especifica que el punto de conexión es responsable de la asignación de fotogramas. Debe establecerse en KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE.

BusFlags

No se usa.

Flags

De forma similar a la unión OptionsFlags y RequirementsFlags en la estructura KSALLOCATOR_FRAMING , con la adición de las marcas que agregan compatibilidad con las tuberías.

Frames

Especifica el número total de fotogramas pendientes permitidos. Corresponde al miembro Frames de la estructura KSALLOCATOR_FRAMING .

FileAlignment

Requisito para la alineación del marco. Corresponde al miembro FileAlignment de la estructura KSALLOCATOR_FRAMING .

FramePitch

Define el miembro LONGFramePitch.

MemoryTypeWeight

Valor de tipo ULONG que especifica el peso de ancho de patillas de este tipo de memoria.

PhysicalRange

Estructura de tipo KS_FRAMING_RANGE que especifica el límite físico de tamaños de marco.

FramingRange

Estructura de tipo KS_FRAMING_RANGE_WEIGHTED que especifica el intervalo óptimo de tamaños de marco.

Comentarios

No establezca KSALLOCATOR_FLAG_CAN_ALLOCATE para indicar la funcionalidad de direccionamiento de memoria. Es posible que un filtro pueda acceder a la memoria específica del dispositivo a través de un bus específico del dispositivo haciendo referencia a la dirección de memoria de este bus y, sin embargo, no admite el protocolo para asignar esta memoria específica del dispositivo.

Cada instancia de KSALLOCATOR_FRAMING_EX contiene uno o varios elementos de trama.

Requisitos

Requisito Valor
Header ks.h (incluya Ks.h)

Consulte también

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED