Функция StreamClassGetNextEvent (strmini.h)

Мини-накопители могут использовать подпрограмму StreamClassGetNextEvent для поиска очереди событий устройства или определенного потока.

Синтаксис

PKSEVENT_ENTRY StreamClassGetNextEvent(
  [in, optional] PVOID             HwInstanceExtension_OR_HwDeviceExtension,
  [in, optional] PHW_STREAM_OBJECT HwStreamObject,
  [in, optional] GUID              *EventGuid,
  [in]           ULONG             EventItem,
  [in, optional] PKSEVENT_ENTRY    CurrentEvent
);

Параметры

[in, optional] HwInstanceExtension_OR_HwDeviceExtension

Указатель на расширение устройства мини-накопителя. Мини-диск задает размер этого буфера в структуре HW_INITIALIZATION_DATA , который он передает при регистрации через StreamClassRegisterMinidriver. Затем драйвер класса передает указатели на буфер в элементе HwDeviceExtensionHW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT и PORT_CONFIGURATION_INFORMATION структурах, которые он передает в мини-диск.

Первым параметром был PVOID HwDeviceExtension. Он должен иметь значение HwInstanceExtension для драйверов с несколькими экземплярами и с несколькими фильтрами (версия 20). Устаревшие драйверы одного экземпляра могут по-прежнему указывать HwDeviceExtension в качестве первого параметра. Он также может указать HwInstanceExtension.

[in, optional] HwStreamObject

Указатель на HW_STREAM_OBJECT. Установите значение NULL для поиска в очереди событий самого устройства. Чтобы выполнить поиск в очереди событий определенного потока, задайте для объекта потока поток.

[in, optional] EventGuid

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

[in] EventItem

Указывает идентификатор события для сопоставления при проходе по очереди или значение -1 для сопоставления любого события.

[in, optional] CurrentEvent

Указатель на событие в очереди событий или значение NULL.

Возвращаемое значение

Если значение CurrentEvent не равно NULL, StreamClassGetNextEvent возвращает следующее соответствующее событие после CurrentEvent в очереди (или NULL , если следующее событие отсутствует). Если значение CurrentEvent равно NULL, StreamClassGetNextEvent возвращает первое соответствующее событие в очереди.

Комментарии

Мини-driver может последовательно вызывать StreamClassGetNextEvent для циклического обхода очереди событий, проверяя по одному событию за раз.

Вызывающий объект может указать дополнительные условия поиска для сопоставления событий в очереди событий.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть strmini.h (включая Strmini.h)
Библиотека Stream.lib