Bagikan melalui


midiOutOpen (mmeapi.h)

Fungsi midiOutOpen membuka perangkat output MIDI untuk pemutaran.

Sintaks

MMRESULT midiOutOpen(
  LPHMIDIOUT phmo,
  UINT       uDeviceID,
  DWORD_PTR  dwCallback,
  DWORD_PTR  dwInstance,
  DWORD      fdwOpen
);

Parameter

phmo

Penunjuk ke handel HMIDIOUT . Lokasi ini diisi dengan handel yang mengidentifikasi perangkat output MIDI yang dibuka. Handel digunakan untuk mengidentifikasi perangkat dalam panggilan ke fungsi output MIDI lainnya.

uDeviceID

Pengidentifikasi perangkat output MIDI yang akan dibuka.

dwCallback

Penunjuk ke fungsi panggilan balik, handel peristiwa, pengidentifikasi utas, atau handel jendela atau utas yang dipanggil selama pemutaran MIDI untuk memproses pesan yang terkait dengan kemajuan pemutaran. Jika tidak ada panggilan balik yang diinginkan, tentukan NULL untuk parameter ini. Untuk informasi selengkapnya tentang fungsi panggilan balik, lihat MidiOutProc.

dwInstance

Data instans pengguna diteruskan ke panggilan balik. Parameter ini tidak digunakan dengan panggilan balik jendela atau utas.

fdwOpen

Bendera panggilan balik untuk membuka perangkat. Ini bisa menjadi nilai berikut.

Nilai Makna
CALLBACK_EVENT Parameter dwCallback adalah handel peristiwa. Mekanisme panggilan balik ini hanya untuk output.
CALLBACK_FUNCTION Parameter dwCallback adalah alamat fungsi 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.

Mengembalikan nilai

Mengembalikan MMSYSERR_NOERROR jika berhasil atau kesalahan sebaliknya. Kemungkinan nilai kesalahan termasuk yang berikut ini.

Menampilkan kode Deskripsi
MIDIERR_NODEVICE
Tidak ada port MIDI yang ditemukan. Kesalahan ini terjadi hanya ketika pemeta dibuka.
MMSYSERR_ALLOCATED
Sumber daya yang ditentukan sudah dialokasikan.
MMSYSERR_BADDEVICEID
Pengidentifikasi perangkat yang ditentukan berada di luar rentang.
MMSYSERR_INVALPARAM
Penunjuk atau struktur yang ditentukan tidak valid.
MMSYSERR_NOMEM
Sistem tak bisa mengalokasikan atau mengunci memori.

Keterangan

Untuk menentukan jumlah perangkat output MIDI yang ada dalam sistem, gunakan fungsi midiOutGetNumDevs . Pengidentifikasi perangkat yang ditentukan oleh wDeviceID bervariasi dari nol hingga satu kurang dari jumlah perangkat yang ada. MIDI_MAPPER juga dapat digunakan sebagai pengidentifikasi perangkat.

Jika jendela atau utas dipilih untuk menerima informasi panggilan balik, pesan berikut dikirim ke prosedur jendela atau utas untuk menunjukkan kemajuan output MIDI: MM_MOM_OPEN, MM_MOM_CLOSE, dan MM_MOM_DONE.

Jika fungsi dipilih untuk menerima informasi panggilan balik, pesan berikut dikirim ke fungsi untuk menunjukkan kemajuan output MIDI: MOM_OPEN, MOM_CLOSE, dan MOM_DONE.

Persyaratan

   
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

Lihat juga

Fungsi MIDI