Метод 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, если вызов был выполнен успешно. В противном случае метод возвращает соответствующий код ошибки. В следующей таблице показаны некоторые из возможных кодов состояния возврата.
Код возврата | Описание |
---|---|
|
Недопустимый запрос устройства (например, вызов Read в потоке вывода MIDI).
|
Комментарии
Драйвер мини-порта вызывает IPortMidi::Notify , чтобы уведомить драйвер порта, когда входящие данные MIDI становятся доступными с устройства захвата. Драйвер порта вызывает IMiniportMidi::Read для получения данных. Драйвер порта продолжает вызываться Read
до тех пор, пока доступно больше данных.
Метод Read
возвращает STATUS_SUCCESS и число BytesRead , равное нулю, чтобы указать, что на устройстве больше нет входных данных MIDI.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | portcls.h (включая Portcls.h) |
IRQL | DISPATCH_LEVEL |