midiStreamOpen 函式 (mmeapi.h)

midiStreamOpen函式會開啟 MIDI 資料流程以供輸出使用。 根據預設,裝置會以暫停模式開啟。 此函式擷取的資料流程控制碼必須用於資料流程的所有後續參考中。

語法

MMRESULT midiStreamOpen(
  LPHMIDISTRM phms,
  LPUINT      puDeviceID,
  DWORD       cMidi,
  DWORD_PTR   dwCallback,
  DWORD_PTR   dwInstance,
  DWORD       fdwOpen
);

參數

phms

函式傳回時,要包含資料流程控制碼之變數的指標。

puDeviceID

裝置識別碼的指標。 裝置會代表資料流程開啟,並在資料流程關閉時再次關閉。

cMidi

保留;必須是 1。

dwCallback

回呼函式的指標、事件控制碼、執行緒識別碼,或 MIDI 播放期間呼叫之視窗或執行緒的控制碼,以處理與播放進度相關的訊息。 如果不需要回呼機制,請為此參數指定 Null

dwInstance

以每個回呼函式傳回給應用程式的應用程式特定實例資料。

fdwOpen

用於開啟裝置的回呼旗標。 必須指定下列其中一個回呼旗標。

意義
CALLBACK_EVENT dwCallback參數是事件控制碼。 此回呼機制僅適用于輸出。
CALLBACK_FUNCTION dwCallback參數是回呼程式位址。 如需回呼簽章,請參閱 MidiOutProc
CALLBACK_Null 沒有回呼機制。 這是預設值。
CALLBACK_THREAD dwCallback參數是執行緒識別碼。
CALLBACK_WINDOW dwCallback參數是視窗控制碼。

傳回值

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

傳回碼 描述
MMSYSERR_BADDEVICEID
指定的裝置識別碼超出範圍。
MMSYSERR_INVALPARAM
指定的控制碼或旗標參數無效。
MMSYSERR_NOMEM
系統無法配置或鎖定記憶體。

需求

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

另請參閱

MIDI 函式