// strmini.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The HW_STREAM_INFORMATION structure describes the kernel streaming semantics supported by individual streams, as part of an HW_STREAM_DESCRIPTOR structure.
NumberOfPossibleInstancesSpecifies the number of possible instances of this stream that can be opened.
DataFlowThe direction that data can travel on this stream. For unidirectional data flow, DataFlow has the value KSPIN_DATAFLOW_IN or KSPIN_DATAFLOW_OUT.
DataAccessibleSpecifies TRUE if the stream data is accessible to the class driver.
NumberOfFormatArrayEntriesThe number of entries in the array that begins at the address in the StreamFormatsArray member.
StreamFormatsArrayPointer 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.)
ClassReservedReserved for use by the class driver. Do not use.
NumStreamPropArrayEntriesThe number of entries in the array that begins at the address in the StreamPropertiesArray member.
StreamPropertiesArrayPointer to the beginning of the array of property sets supported by this stream.
NumStreamEventArrayEntriesThe number of entries in the array that begins at the address in the StreamEventsArray field.
StreamEventsArrayPointer to the beginning of the array of event sets supported by this stream.
CategorySpecifies the GUID of the pin category.
NameSpecifies the GUID of the localized Unicode string name for the pin type, stored in the Registry.
MediumsCountThe number of entries in the array that begins at the address in the Mediums field.
MediumsPointer 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.
BridgeStreamIf 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.
ReservedReserved for use by the class driver. Do not use.
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.