다음을 통해 공유


CS_FRAMING_ITEM (Compact 2013)

3/26/2014

This structure is used to declare allocator requirements on a kernel-mode pin.

Syntax

typedef struct {
  GUID                      MemoryType;
  GUID                      BusType;
  ULONG                     MemoryFlags;
  ULONG                     BusFlags;   
  ULONG                     Flags;   
  ULONG                     Frames;              // total number of allowable outstanding frames
  ULONG                     FileAlignment;
  ULONG                     MemoryTypeWeight;    // this memory type Weight pin-wide
  CS_FRAMING_RANGE          PhysicalRange;
  CS_FRAMING_RANGE_WEIGHTED FramingRange; 
} CS_FRAMING_ITEM, *PCS_FRAMING_ITEM;

Members

  • MemoryType
    A GUID value that specifies the type of memory used for buffers and data frames. There is a partial correspondence between this field and the field PoolType in CSALLOCATOR_FRAMING. The two fields differ in that PoolType allows only paged or nonpaged pool.
  • BusType
    A GUID value that specifies the physical bus accessing the physical memory specified by MemoryType. Use this field to determine a compatible memory type based on the bus used for the connection medium. This distinction is crucial when a pin exposes different memory types based on the connection medium.
  • MemoryFlags
    A ULONG value that currently specifies only CSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE (see CSALLOCATOR Values) to indicate that the connection point requires that it allocate any frames sent.
  • BusFlags
    Not currently used.
  • Flags
    A ULONG value that is similar to the options flags and requirements flags found in CSALLOCATOR_FRAMING, with the addition of the following CSALLOCATOR Values that add support for pipes:

    • CSALLOCATOR_FLAG_CAN_ALLOCATE
    • CSALLOCATOR_FLAG_DEVICE_SPECIFIC
    • CSALLOCATOR_FLAG_INSIST_ON_FRAMESIZE_RATIO
    • CSALLOCATOR_FLAG_PARTIAL_READ_SUPPORT
    • CSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY
  • Frames
    A ULONG value that specifies the total number of allowable outstanding frames. Corresponds to the Frames member of CSALLOCATOR_FRAMING.
  • FileAlignment
    A ULONG value that specifies the requirement for frame alignment. Corresponds to the FileAlignment member of CSALLOCATOR_FRAMING.
  • MemoryTypeWeight
    A ULONG value that specifies the pin-wide weight of this memory type.
  • PhysicalRange
    A CS_FRAMING_RANGE structure that specifies the physical limit of frame sizes.

Remarks

Do not set CSALLOCATOR_FLAG_CAN_ALLOCATE to indicate memory addressing capability. A filter may be able to access the device-specific memory over a device-specific bus by referencing the memory address on this bus, but it may not support the protocol to allocate this device-specific memory.

Each CSALLOCATOR_FRAMING_EX instance contains one or more framing items.

Requirements

Header

cs.h

See Also

Reference

Camera Driver Structures
CSALLOCATOR_FRAMING
CSALLOCATOR Values
CSALLOCATOR_FRAMING
CSALLOCATOR Values
CS_FRAMING_RANGE
CS_FRAMING_RANGE_WEIGHTED
CSALLOCATOR_FRAMING_EX