Метод IMXF::P utMessage (dmusicks.h)
Метод PutMessage передает структуру DMUS_KERNEL_EVENT в следующее место назначения. Драйвер мини-порта использует этот метод для отмены используемых структур событий, чтобы их можно было перезаработать распределителем.
Синтаксис
Синтаксис
NTSTATUS PutMessage(
PDMUS_KERNEL_EVENT pDMKEvt
);
Параметры
pDMKEvt
Указатель на структуру DMUS_KERNEL_EVENT, передаваемую в место назначения.
Возвращаемое значение
Этот метод возвращает NTSTATUS, содержащий STATUS_SUCCESS, если вызов был успешным. В противном случае метод возвращает соответствующий код ошибки.
Комментарии
Во время отрисовки драйвер мини-порта вызывает метод PutMessage, чтобы отменить используемые DMUS_KERNEL_EVENT структуры. Метод направляет отброшенные структуры в распределител для повторного использования. Драйвер мини-порта вызывает этот метод после извлечения данных MIDI из структур для отрисовки.
Во время записи MIDI этот метод используется для упаковки и передачи MIDI-сообщений в приемник захвата драйвера порта DMus, как показано на рисунке в разделе Транспорт MIDI. Эти сообщения могут быть отдельными, несколькими или фрагментарными событиями MIDI и упаковываются в DMUS_KERNEL_EVENT структуры (которые извлекаются вызовами IAllocatorMXF::GetMessage).
Распределителя всегда является последним местом назначения в любой цепочке, поэтому каждая DMUS_KERNEL_EVENT структура в конечном итоге будет переработана. Если IMXF::ConnectOutput не был вызван, PutMessage по умолчанию передает структуру распределителю. Дополнительные сведения см. в разделе Allocator.
Требования
Требование | Значение |
---|---|
Заголовок | dmusicks.h |
IRQL | DISPATCH_LEVEL |