MODM_STOP 函数

WINMM 将 MODM_STOP 消息发送到 MIDI 输出驱动程序的 modMessage 函数,以停止输出队列的输出,并关闭正在播放的任何注释。

语法

DWORD modMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwUser,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

参数

  • uDeviceID
    指定目标设备的 ID。 设备 ID 将按顺序,其初始值为零,最终值等于比驱动程序支持的设备数小一。

  • uMsg
    在调用 modMessage 来处理此消息时,WINMM 会将此参数设置为 MODM_STOP

  • dwUser
    使用此参数可将实例数据返回到驱动程序。 支持多个客户端的驱动程序可以使用此类实例数据跟踪与消息关联的客户端。

  • dwParam1
    未使用。

  • dwParam2
    未使用。

返回值

如果操作成功,modMessage 函数将返回 MMSYSERR_NOERROR。 否则,它将返回 MMSYSERR_NOTENABLED,以指示驱动程序无法加载或初始化。

注解

如果 MIDI 输出驱动程序的输出队列非空,则它必须停止所有挂起的数据块,并通过为每个块设置 MIDIHDR 结构的 dwFlags 字段中的 MHDR_DONE 位,来将其标记为已完成。 然后,驱动程序必须使用 DriverCallback 为每个数据块发送 MOM_DONE 消息,以通知客户端。

驱动程序应为当前打开的所有注释发送一个注释关闭事件。 此外,驱动程序应为每个声道发送一个阻尼器踏板关闭事件(控制器 0x40)。 如果设备是内部合成器,驱动程序应关闭正在播放的任何注释。

要求

目标平台

桌面

版本

适用于 Windows XP 及更高版本的 Windows 操作系统。

标头

Mmddk.h(包括 Mmddk.h、Mmsystem.h 或 Windows.h)

另请参阅

modMessage

DriverCallback

MIDIHDR

MOM_DONE