midiOutShortMsg 函式 (mmeapi.h)

midiOutShortMsg 函式會將簡短 MIDI 訊息傳送至指定的 MIDI 輸出裝置。

語法

MMRESULT midiOutShortMsg(
  HMIDIOUT hmo,
  DWORD    dwMsg
);

參數

hmo

MIDI 輸出裝置的句柄。 此參數也可以是MIDI數據流轉換成 HMIDIOUT的句柄。

dwMsg

MIDI 訊息。 訊息會封裝成 DWORD 值,其中包含低序位元組訊息的第一個字節。 訊息會封裝至此參數,如下所示。

Word Byte 使用方式
高序 未使用。
低序 如有需要,MIDI 數據的第二個字節 () 。
高序 如有需要,MIDI 數據的第一個字節 () 。
低序 MIDI 狀態。
 

兩個 MIDI 數據位元組是選擇性的,視 MIDI 狀態位元組而定。 當一系列訊息具有相同的狀態位元組時,可以在數列中的第一個訊息之後省略狀態位元組,以建立執行中狀態。 封裝訊息以執行狀態,如下所示:

Word Byte 使用方式
高序 未使用。
低序 未使用。
高序 如有需要,MIDI 數據的第二個字節 () 。
低序 MIDI 數據的第一個字節。

傳回值

如果成功或發生錯誤,則傳回MMSYSERR_NOERROR。 可能的錯誤值包括下列各項:

傳回碼 Description
MIDIERR_BADOPENMODE
應用程式會將沒有狀態位元組的訊息傳送至數據流句柄。
MIDIERR_NOTREADY
硬體正忙於其他數據。
MMSYSERR_INVALHANDLE
指定的裝置句柄無效。

備註

此函式可用來傳送系統專屬或串流訊息以外的任何MIDI訊息。

此函式可能不會傳回,直到訊息傳送至輸出裝置為止。 您可以在串流在相同的裝置上播放時傳送簡短訊息 (,但在此案例中無法使用執行狀態) 。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 mmeapi.h (包含 Windows.h)
程式庫 Winmm.lib
Dll Winmm.dll

另請參閱

MIDI 函式