структура HW_STREAM_INFORMATION (strmini.h)

Структура HW_STREAM_INFORMATION описывает семантику потоковой передачи ядра, поддерживаемую отдельными потоками, как часть структуры HW_STREAM_DESCRIPTOR .

Синтаксис

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;

Члены

NumberOfPossibleInstances

Указывает количество возможных экземпляров этого потока, которые можно открыть.

DataFlow

Направление, в которое могут перемещаться данные в этом потоке. Для однонаправленного потока данных DataFlow имеет значение KSPIN_DATAFLOW_IN или KSPIN_DATAFLOW_OUT.

DataAccessible

Указывает значение TRUE , если потоковые данные доступны драйверу класса.

NumberOfFormatArrayEntries

Количество записей в массиве, начинающегося с адреса в элементе StreamFormatsArray .

StreamFormatsArray

Указатель на начало массива диапазонов данных, поддерживаемых этим потоком. (Имя этого элемента обманчиво. Этот элемент указывает на массив структур KSDATARANGE , а не на структуры KSDATAFORMAT.)

ClassReserved[4]

Зарезервировано для использования драйвером класса. Не используйте.

NumStreamPropArrayEntries

Количество записей в массиве, начинающегося с адреса в элементе StreamPropertiesArray .

StreamPropertiesArray

Указатель на начало массива наборов свойств, поддерживаемых этим потоком.

NumStreamEventArrayEntries

Число записей в массиве, начинающегося с адреса в поле StreamEventsArray .

StreamEventsArray

Указатель на начало массива наборов событий, поддерживаемых данным потоком.

Category

Указывает GUID категории контактов.

Name

Указывает GUID локализованного имени строки Юникода для типа закрепления, хранящегося в реестре.

MediumsCount

Количество записей в массиве, начинающегося с адреса в поле Средние .

Mediums

Указатель на начало массива KSPIN_MEDIUM структур, поддерживаемых этим потоком. Если в мини-накопителе не указан средний, драйвер класса использует KSMEDIUMSETID_STANDARD, KSMEDIUM_TYPE_ANYINSTANCE средний в качестве значения по умолчанию.

BridgeStream

Если задано значение TRUE, тип связи базового типа закрепления этого потока KSPIN_COMMUNICATION_BRIDGE. В противном случае типом связи по умолчанию для потока является KSPIN_COMMUNICATION_SINK.

Большинство мини-накопителей присваивают этому элементу значение FALSE. Описание типов взаимодействия см. в KSPROPERTY_PIN_COMMUNICATIONS.

Reserved[2]

Зарезервировано для использования драйвером класса. Не используйте.

Комментарии

Драйвер класса использует элементы HW_STREAM_INFORMATION для обработки запросов свойств KSPROPSETID_Pin . Индекс в структуре HW_STREAM_DESCRIPTOR служит идентификатором типа закрепления.

Обратите внимание, что драйвер класса не использует эти данные для обработки свойства KSPROPERTY_PIN_DATAINTERSECTION . Описание того, как драйвер класса обрабатывает это свойство, см. в STREAM_DATA_INTERSECT_INFO .

Требования

Требование Значение
Заголовок strmini.h (включая Strmini.h)

См. также раздел

HW_STREAM_DESCRIPTOR

HW_STREAM_HEADER