MODM_STRMDATA 函数

WINMM 将 MODM_STRMDATA 消息发送到 MIDI 输出驱动程序的 modMessage 函数,以获取 MIDI 输出设备,以便发送流数据。

语法

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

参数

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

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

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

  • dwParam1
    此参数指定指向 MIDIHDR 结构的远指针,该结构包含流缓冲区格式的数据。

  • dwParam2
    此参数指定 MIDIHDR 结构的大小(以字节为单位)。

返回值

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

注解

MIDIEVENT 结构的 dwStreamID 成员在 Windows SDK 文档中记录为保留。 此成员实际上包含给定事件的目标。 驱动程序必须仅在以下情况下处理该事件:

  • dwStreamID 与数组中给定的流标识符之一匹配,该标识符由 MIDIOPENDESC 结构(在 MODM_OPEN 消息中指定)的 rgIds 成员指定。 在这种情况下,驱动程序必须处理通过 MODM_OPEN 消息中的设备标识符将流标识符绑定到的端口上的事件。

  • dwStreamID 包含一个 -1 (0xFFFFFFFFL)。 在这种情况下,驱动程序必须处理此流上打开的所有端口的事件。

要求

目标平台

桌面

版本

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

标头

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

另请参阅

modMessage

MIDIHDR

MIDIEVENT

MIDIOPENDESC