KSALLOCATOR_FRAMING_EX structure (ks.h)

The KSALLOCATOR_FRAMING_EX structure is the AVStream replacement for KSALLOCATOR_FRAMING. KSALLOCATOR_FRAMING_EX defines allocator requirements on a pin in a kernel level filter.

Syntax

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

Members

CountItems

Specifies the number of framing items that are present in the FramingItem array.

PinFlags

Reserved, set to zero.

OutputCompression

Points to a structure of type KS_COMPRESSION that defines the frame ratio for transforms that change the size of a frame.

PinWeight

This pin framing's weight graph-wide. Reserved, set to zero.

FramingItem[1]

An array of KS_FRAMING_ITEM structures specifying the actual framing items.

Remarks

A minidriver can also use DECLARE_SIMPLE_FRAMING_EX to declare an extended framing structure in line with the original structure. This macro is defined in Ks.h as follows:

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

DECLARE_SIMPLE_FRAMING_EX declares a KSALLOCATOR_FRAMING_EX structure called FramingExName with the specified memory type (often either STATIC_KS_TYPE_DONT_CARE or one of the kernel paged or nonpaged GUIDs). The Frames and Alignment fields of the macro correspond to the KSALLOCATOR_FRAMING. MinFrameSize and MaxFrameSize ensure that frames are within a specific size range. Flags corresponds to the OptionsFlags and RequirementsFlags in KSALLOCATOR_FRAMING.

Requirements

Requirement Value
Header ks.h (include Ks.h)

See also

KSALLOCATOR_FRAMING

KS_COMPRESSION

KS_FRAMING_ITEM

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED