HW_STREAM_INFORMATION structure (strmini.h)
The HW_STREAM_INFORMATION structure describes the kernel streaming semantics supported by individual streams, as part of an HW_STREAM_DESCRIPTOR structure.
Syntax
typedef struct _HW_STREAM_INFORMATION {
ULONG NumberOfPossibleInstances;
KSPIN_DATAFLOW DataFlow;
BOOLEAN DataAccessible;
ULONG NumberOfFormatArrayEntries;
PKSDATAFORMAT *StreamFormatsArray;
PVOID ClassReserved[4];
ULONG NumStreamPropArrayEntries;
PKSPROPERTY_SET StreamPropertiesArray;
ULONG NumStreamEventArrayEntries;
PKSEVENT_SET StreamEventsArray;
GUID *Category;
GUID *Name;
ULONG MediumsCount;
const KSPIN_MEDIUM *Mediums;
BOOLEAN BridgeStream;
ULONG Reserved[2];
} HW_STREAM_INFORMATION, *PHW_STREAM_INFORMATION;
Members
NumberOfPossibleInstances
Specifies the number of possible instances of this stream that can be opened.
DataFlow
The direction that data can travel on this stream. For unidirectional data flow, DataFlow has the value KSPIN_DATAFLOW_IN or KSPIN_DATAFLOW_OUT.
DataAccessible
Specifies TRUE if the stream data is accessible to the class driver.
NumberOfFormatArrayEntries
The number of entries in the array that begins at the address in the StreamFormatsArray member.
StreamFormatsArray
Pointer to the beginning of the array of data ranges that this stream supports. (The name of this member is deceptive. This member points to an array of KSDATARANGE structures, not KSDATAFORMAT structures.)
ClassReserved[4]
Reserved for use by the class driver. Do not use.
NumStreamPropArrayEntries
The number of entries in the array that begins at the address in the StreamPropertiesArray member.
StreamPropertiesArray
Pointer to the beginning of the array of property sets supported by this stream.
NumStreamEventArrayEntries
The number of entries in the array that begins at the address in the StreamEventsArray field.
StreamEventsArray
Pointer to the beginning of the array of event sets supported by this stream.
Category
Specifies the GUID of the pin category.
Name
Specifies the GUID of the localized Unicode string name for the pin type, stored in the Registry.
MediumsCount
The number of entries in the array that begins at the address in the Mediums field.
Mediums
Pointer to the beginning of the array of KSPIN_MEDIUM structures supported by this stream. If the minidriver does not specify a medium, the class driver uses the KSMEDIUMSETID_STANDARD, KSMEDIUM_TYPE_ANYINSTANCE medium as the default.
BridgeStream
If TRUE, the communications type of this stream's underlying pin type is KSPIN_COMMUNICATION_BRIDGE. Otherwise, the default communications type of a stream is KSPIN_COMMUNICATION_SINK.
Most minidrivers will set this member to FALSE. See KSPROPERTY_PIN_COMMUNICATIONS for a description of communication types.
Reserved[2]
Reserved for use by the class driver. Do not use.
Remarks
The class driver uses the elements of HW_STREAM_INFORMATION to handle the KSPROPSETID_Pin property requests. The index within the HW_STREAM_DESCRIPTOR structure serves as the pin type ID number.
Note that the class driver does not use this data to handle the KSPROPERTY_PIN_DATAINTERSECTION property. See STREAM_DATA_INTERSECT_INFO for a description of how the class driver handles this property.
Requirements
Requirement | Value |
---|---|
Header | strmini.h (include Strmini.h) |