midiOutPrepareHeader 函式 (mmeapi.h)
midiOutPrepareHeader 函式會準備 MIDI 系統獨佔或數據流緩衝區以進行輸出。
語法
MMRESULT midiOutPrepareHeader(
HMIDIOUT hmo,
LPMIDIHDR pmh,
UINT cbmh
);
參數
hmo
MIDI 輸出裝置的句柄。 若要取得裝置句柄,請呼叫 midiOutOpen。 此參數也可以是MIDI資料流轉換成 HMIDIOUT 類型的句柄。
pmh
MIDIHDR 結構的指標,可識別要準備的緩衝區。
呼叫函式之前,請先設定MIDIHDR結構的 lpData、dwBufferLength 和 dwFlags 成員。 dwFlags 成員必須設定為零。
cbmh
MIDIHDR 結構的大小,以位元組為單位。
傳回值
如果成功或發生錯誤,則傳回MMSYSERR_NOERROR。 可能的錯誤值包括下列專案。
傳回碼 | Description |
---|---|
|
指定的裝置句柄無效。 |
|
指定的位址無效,或指定的數據流緩衝區大於 64K。 |
|
系統無法配置或鎖定記憶體。 |
備註
將 MIDI 數據區塊傳遞至設備驅動器之前,您必須將它傳遞至 midiOutPrepareHeader 函 式來準備緩衝區。 準備標頭之後,請勿修改緩衝區。 使用緩衝區完成驅動程序之後,請呼叫 midiOutUnprepareHeader 函式。
應用程式可以重複使用相同的緩衝區,或配置多個緩衝區,併為每個緩衝區呼叫 midiOutPrepareHeader 。 如果您重複使用相同的緩衝區,則不需要每次準備緩衝區。 您可以在開頭呼叫 midiOutPrepareHeader 一次,然後在結尾呼叫 midiOutUnprepareHeader 一次。
數據流緩衝區不能大於 64K。
準備已經備妥的標頭沒有任何作用,而且函式會傳回MMSYSERR_NOERROR。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mmeapi.h (包含 Windows.h) |
程式庫 | Winmm.lib |
Dll | Winmm.dll |