midiInPrepareHeader 函数 (mmeapi.h)
midiInPrepareHeader 函数为 MIDI 输入准备缓冲区。
语法
MMRESULT midiInPrepareHeader(
HMIDIIN hmi,
LPMIDIHDR pmh,
UINT cbmh
);
parameters
hmi
MIDI 输入设备的句柄。 若要获取设备句柄,请调用 midiInOpen。
pmh
指向用于标识要准备的缓冲区的 MIDIHDR 结构的指针。
在调用函数之前,请设置 MIDIHDR 结构的 lpData、dwBufferLength 和 dwFlags 成员。 dwFlags 成员必须设置为零。
cbmh
MIDIHDR 结构的大小(以字节为单位)。
返回值
如果成功,则返回MMSYSERR_NOERROR,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
指定的设备句柄无效。 |
|
指定的地址无效。 |
|
系统无法分配或锁定内存。 |
注解
在将 MIDI 数据块传递到设备驱动程序之前,必须通过将缓冲区传递到 midiInPrepareHeader 函数来准备缓冲区。 准备好标头后,请勿修改缓冲区。 使用缓冲区完成驱动程序后,调用 midiInUnprepareHeader 函数。
应用程序可以重复使用同一个缓冲区,或者分配多个缓冲区,并为每个缓冲区调用 midiInPrepareHeader 。 如果重复使用同一个缓冲区,则无需每次都准备缓冲区。 可以在开头调用 midiInPrepareHeader 一次,然后在末尾调用 midiInUnprepareHeader 一次。
准备已准备好的标头不起作用,函数返回零。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mmeapi.h (包括 Windows.h) |
Library | Winmm.lib |
DLL | Winmm.dll |