midiInOpen (mmeapi.h)
Fungsi midiInOpen membuka perangkat input MIDI tertentu.
MMRESULT midiInOpen(
LPHMIDIIN phmi,
UINT uDeviceID,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
phmi
Penunjuk ke handel HMIDIIN . Lokasi ini diisi dengan handel yang mengidentifikasi perangkat input MIDI yang dibuka. Handel digunakan untuk mengidentifikasi perangkat dalam panggilan ke fungsi input MIDI lainnya.
uDeviceID
Pengidentifikasi perangkat input MIDI yang akan dibuka.
dwCallback
Arahkan ke fungsi panggilan balik, pengidentifikasi utas, atau handel jendela yang dipanggil dengan informasi tentang pesan MIDI masuk. Untuk informasi selengkapnya tentang fungsi panggilan balik, lihat MidiInProc.
dwInstance
Data instans pengguna diteruskan ke fungsi panggilan balik. Parameter ini tidak digunakan dengan fungsi atau utas panggilan balik jendela.
fdwOpen
Bendera panggilan balik untuk membuka perangkat dan, secara opsional, bendera status yang membantu mengatur transfer data cepat. Ini bisa menjadi nilai berikut.
Nilai | Makna |
---|---|
CALLBACK_FUNCTION | Parameter dwCallback adalah alamat prosedur panggilan balik. |
CALLBACK_NULL | Tidak ada mekanisme panggilan balik. Nilai ini adalah pengaturan default. |
CALLBACK_THREAD | Parameter dwCallback adalah pengidentifikasi utas. |
CALLBACK_WINDOW | Parameter dwCallback adalah handel jendela. |
MIDI_IO_STATUS | Ketika parameter ini juga menentukan CALLBACK_FUNCTION, pesan MIM_MOREDATA dikirim ke fungsi panggilan balik serta pesan MIM_DATA . Atau, jika parameter ini juga menentukan CALLBACK_WINDOW, pesan MM_MIM_MOREDATA dikirim ke jendela serta pesan MM_MIM_DATA . Bendera ini tidak memengaruhi panggilan balik peristiwa atau utas. |
Sebagian besar aplikasi yang menggunakan mekanisme panggilan balik akan menentukan CALLBACK_FUNCTION untuk parameter ini.
Mengembalikan MMSYSERR_NOERROR jika berhasil atau kesalahan sebaliknya. Kemungkinan nilai kesalahan termasuk yang berikut ini/
Menampilkan kode | Deskripsi |
---|---|
|
Sumber daya yang ditentukan sudah dialokasikan. |
|
Pengidentifikasi perangkat yang ditentukan berada di luar rentang. |
|
Bendera yang ditentukan oleh dwFlags tidak valid. |
|
Penunjuk atau struktur yang ditentukan tidak valid. |
|
Sistem tak bisa mengalokasikan atau mengunci memori. |
Untuk menentukan jumlah perangkat input MIDI yang ada dalam sistem, gunakan fungsi midiInGetNumDevs . Pengidentifikasi perangkat yang ditentukan oleh wDeviceID bervariasi dari nol hingga satu kurang dari jumlah perangkat yang ada.
Jika jendela atau utas dipilih untuk menerima informasi panggilan balik, pesan berikut dikirim ke prosedur atau utas jendela untuk menunjukkan kemajuan input MIDI: MM_MIM_OPEN, MM_MIM_CLOSE, MM_MIM_DATA, MM_MIM_LONGDATA, MM_MIM_ERROR, MM_MIM_LONGERROR, dan MM_MIM_MOREDATA.
Jika fungsi dipilih untuk menerima informasi panggilan balik, pesan berikut dikirim ke fungsi untuk menunjukkan kemajuan input MIDI: MIM_OPEN, MIM_CLOSE, MIM_DATA, MIM_LONGDATA, MIM_ERROR, MIM_LONGERROR, dan MIM_MOREDATA.
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | mmeapi.h (termasuk Windows.h) |
Pustaka | Winmm.lib |
DLL | Winmm.dll |