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)

See also

HW_STREAM_DESCRIPTOR

HW_STREAM_HEADER