midiInPrepareHeader 函式 (mmeapi.h)

midiInPrepareHeader函式會準備 MIDI 輸入的緩衝區。

語法

MMRESULT midiInPrepareHeader(
  HMIDIIN   hmi,
  LPMIDIHDR pmh,
  UINT      cbmh
);

參數

hmi

MIDI 輸入裝置的控制碼。 若要取得裝置控制碼,請呼叫 midiInOpen

pmh

MIDIHDR結構的指標,可識別要準備的緩衝區。

呼叫函式之前,請先設定MIDIHDR結構的lpDatadwBufferLengthdwFlags成員。 dwFlags成員必須設定為零。

cbmh

MIDIHDR結構的大小,以位元組為單位。

傳回值

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

傳回碼 描述
MMSYSERR_INVALHANDLE
指定的裝置控制碼無效。
MMSYSERR_INVALPARAM
指定的位址無效。
MMSYSERR_NOMEM
系統無法配置或鎖定記憶體。

備註

將 MIDI 資料區塊傳遞至設備磁碟機之前,您必須將緩衝區傳遞至 midiInPrepareHeader 函 式來準備緩衝區。 準備標頭之後,請勿修改緩衝區。 使用緩衝區完成驅動程式之後,請呼叫 midiInUnprepareHeader 函式。

應用程式可以重複使用相同的緩衝區,或配置多個緩衝區,並為每個緩衝區呼叫 midiInPrepareHeader 。 如果您重複使用相同的緩衝區,則不需要每次準備緩衝區。 您可以在開頭呼叫 midiInPrepareHeader 一次,然後在結尾呼叫 midiInUnprepareHeader 一次。

準備已經備妥的標頭沒有任何作用,而且函式會傳回零。

需求

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

另請參閱

配置和準備 MIDI 資料區塊

MIDI 函式

midiInUnprepareHeader