Compartilhar via


estrutura KSALLOCATOR_FRAMING_EX (ks.h)

A estrutura KSALLOCATOR_FRAMING_EX é a substituição de AVStream para KSALLOCATOR_FRAMING. KSALLOCATOR_FRAMING_EX define os requisitos do alocador em um pino em um filtro de nível de kernel.

Sintaxe

typedef struct {
  ULONG           CountItems;
  ULONG           PinFlags;
  KS_COMPRESSION  OutputCompression;
  ULONG           PinWeight;
  KS_FRAMING_ITEM FramingItem[1];
} KSALLOCATOR_FRAMING_EX, *PKSALLOCATOR_FRAMING_EX;

Membros

CountItems

Especifica o número de itens de enquadramento presentes na matriz FramingItem .

PinFlags

Reservado, definido como zero.

OutputCompression

Aponta para uma estrutura do tipo KS_COMPRESSION que define a taxa de quadros para transformações que alteram o tamanho de um quadro.

PinWeight

O grafo de peso desse enquadramento de pino em todo o gráfico. Reservado, definido como zero.

FramingItem[1]

Uma matriz de estruturas KS_FRAMING_ITEM especificando os itens de enquadramento reais.

Comentários

Um minidriver também pode usar DECLARE_SIMPLE_FRAMING_EX para declarar uma estrutura de enquadramento estendida de acordo com a estrutura original. Essa macro é definida em Ks.h da seguinte maneira:

#define DECLARE_SIMPLE_FRAMING_EX(FramingExName, MemoryType, Flags, Frames, Alignment, MinFrameSize, MaxFrameSize) const KSALLOCATOR_FRAMING_EX FramingExName

DECLARE_SIMPLE_FRAMING_EX declara uma estrutura KSALLOCATOR_FRAMING_EX chamada FramingExName com o tipo de memória especificado (geralmente STATIC_KS_TYPE_DONT_CARE ou um dos GUIDs paginados ou nãopagados do kernel). Os campos Quadros e Alinhamento da macro correspondem ao KSALLOCATOR_FRAMING. MinFrameSize e MaxFrameSize garantem que os quadros estejam dentro de um intervalo de tamanho específico. Os sinalizadores correspondem a OptionsFlags e RequirementsFlags no KSALLOCATOR_FRAMING.

Requisitos

Requisito Valor
Cabeçalho ks.h (inclua Ks.h)

Confira também

KSALLOCATOR_FRAMING

KS_COMPRESSION

KS_FRAMING_ITEM

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED