Функция midiOutPrepareHeader (mmeapi.h)
Функция midiOutPrepareHeader подготавливает к выводу монопольный midI-буфер или буфер потока.
Синтаксис
MMRESULT midiOutPrepareHeader(
HMIDIOUT hmo,
LPMIDIHDR pmh,
UINT cbmh
);
Параметры
hmo
Дескриптор вывода MIDI. Чтобы получить дескриптор устройства, вызовите midiOutOpen. Этот параметр также может быть дескриптором потока MIDI, приведения к типу HMIDIOUT .
pmh
Указатель на структуру MIDIHDR , определяющую подготавливаемый буфер.
Перед вызовом функции задайте элементы lpData, dwBufferLength и dwFlags структуры MIDIHDR . Элемент dwFlags должен иметь нулевое значение.
cbmh
Размер структуры MIDIHDR в байтах.
Возвращаемое значение
Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Указанный дескриптор устройства недопустим. |
|
Указанный адрес недопустим или заданный буфер потока больше 64 КБ. |
|
Системе не удается выделить или заблокировать память. |
Комментарии
Перед передачей блока данных MIDI драйверу устройства необходимо подготовить буфер, передав его в функцию midiOutPrepareHeader . После подготовки заголовка не изменяйте буфер. После завершения работы драйвера с помощью буфера вызовите функцию midiOutUnprepareHeader .
Приложение может повторно использовать один и тот же буфер или выделить несколько буферов и вызвать midiOutPrepareHeader для каждого буфера. При повторном использовании одного и того же буфера нет необходимости подготавливать его каждый раз. Вы можете вызвать midiOutPrepareHeader один раз в начале, а затем вызвать midiOutUnprepareHeader один раз в конце.
Размер буфера потока не может превышать 64 КБ.
Подготовка уже подготовленного заголовка не оказывает никакого влияния, и функция возвращает MMSYSERR_NOERROR.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmeapi.h (включая Windows.h) |
Библиотека | Winmm.lib |
DLL | Winmm.dll |