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.
- FramingRange
A CS_FRAMING_RANGE_WEIGHTED structure that specifies the optimal range 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