Поделиться через


Метод IMiniportMidiStream::Read (portcls.h)

Метод Read считывает данные из входящего потока MIDI.

Синтаксис

NTSTATUS Read(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BufferLength,
  [out] PULONG BytesRead
);

Параметры

[in] BufferAddress

Указывает адрес буфера, выделенного вызывающим объектом. Метод копирует входящие данные MIDI с устройства в буфер. Выделенный размер этого буфера должен быть больше или равен BufferLength.

[in] BufferLength

Указывает длину буфера в байтах, на который указывает BufferAddress.

[out] BytesRead

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

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

Read возвращает STATUS_SUCCESS, если вызов был выполнен успешно. В противном случае метод возвращает соответствующий код ошибки. В следующей таблице показаны некоторые из возможных кодов состояния возврата.

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST
Недопустимый запрос устройства (например, вызов Read в потоке вывода MIDI).

Комментарии

Драйвер мини-порта вызывает IPortMidi::Notify , чтобы уведомить драйвер порта, когда входящие данные MIDI становятся доступными с устройства захвата. Драйвер порта вызывает IMiniportMidi::Read для получения данных. Драйвер порта продолжает вызываться Read до тех пор, пока доступно больше данных.

Метод Read возвращает STATUS_SUCCESS и число BytesRead , равное нулю, чтобы указать, что на устройстве больше нет входных данных MIDI.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
IRQL DISPATCH_LEVEL

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

IMiniportMidiStream

IMiniportMidiStream::Write

IPortMidi::Notify