Bagikan melalui


fungsi modMessage

Fungsi modMessage adalah fungsi entry-point untuk driver output musical instrument digital interface (MIDI) dan untuk driver synthesizer internal. Untuk informasi selengkapnya tentang pesan perangkat audio yang terkait dengan MIDI, lihat Pesan Perangkat Audio untuk MIDI.

Sintaks

DWORD modMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwUser,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

Parameter

  • uDeviceID
    Menentukan ID perangkat target. ID perangkat berurutan dan memiliki nilai awal nol dan nilai akhir yang sama dengan satu kurang dari jumlah perangkat yang didukung driver.

  • uMsg
    Menentukan pesan yang dikirim WINMM ke driver sebagai respons terhadap panggilan dari aplikasi klien.

  • dwUser
    Untuk pesan MODM_OPEN , driver harus mengisi lokasi ini dengan data instansnya. Untuk pesan lain, data instans dikembalikan ke driver. Driver yang mendukung beberapa klien dapat menggunakan data instans ini untuk melacak klien mana yang terkait dengan pesan.

  • dwParam1
    Menentukan parameter yang bergantung pada pesan.

  • dwParam2
    Menentukan parameter yang bergantung pada pesan. Jika ada bendera yang memberikan informasi tambahan kepada driver yang bekerja dengan modMessage, WINMM menggunakan parameter ini untuk meneruskan bendera.

Mengembalikan nilai

Fungsi modMessage mengembalikan MMSYSERR_NOERROR jika dapat berhasil memproses pesan yang diterimanya dari MMSYSTEM. Jika tidak, ia mengembalikan salah satu pesan kesalahan berikut.

Menampilkan kode Deskripsi
MMSYSERR_ERROR

Kesalahan yang tidak ditentukan.

MMSYSERR_BADDEVICEID

ID perangkat yang ditentukan berada di luar rentang.

MMSYSERR_NOTENABLED

Driver gagal dimuat atau diinisialisasi.

MMSYSERR_ALLOCATED

Perangkat yang ditentukan sudah dialokasikan.

MMSYSERR_INVALHANDLE

Handel perangkat yang ditentukan tidak valid.

MMSYSERR_NODRIVER

Tidak ada driver perangkat.

MMSYSERR_NOMEM

Kesalahan alokasi memori.

MMSYSERR_NOTSUPPORTED

Fungsi yang diminta oleh pesan tidak didukung.

MMSYSERR_BADERRNUM

Nilai kesalahan di luar rentang. Lihat bagian Keterangan untuk detail selengkapnya.

MMSYSERR_INVALFLAG

Bendera yang tidak valid diteruskan ke modMessage(dengan menggunakan dwParam2).

MMSYSERR_INVALPARAM

Parameter yang tidak valid diteruskan ke modMessage.

MMSYSERR_HANDLEBUSY

Handel yang ditentukan sedang digunakan secara bersamaan oleh utas lain (misalnya, utas panggilan balik).

MMSYSERR_INVALIDALIAS

Alias yang ditentukan tidak ditemukan.

MMSYSERR_BADDB

Database registri buruk.

MMSYSERR_KEYNOTFOUND

Kunci registri yang ditentukan tidak ditemukan.

MMSYSERR_READERROR

Kesalahan baca registri.

MMSYSERR_WRITEERROR

Kesalahan penulisan registri.

MMSYSERR_DELETEERROR

Kesalahan penghapusan registri.

MMSYSERR_VALNOTFOUND

Nilai registri yang ditentukan tidak ditemukan.

MMSYSERR_NODRIVERCB

Driver yang bekerja dengan modMessage tidak memanggil DriverCallback.

MMSYSERR_MOREDATA

modMessage memiliki lebih banyak data untuk dikembalikan.

MMSYSERR_LASTERROR

Menunjukkan bahwa ini adalah kesalahan terakhir dalam rentang nilai kesalahan. Lihat bagian Keterangan untuk detail selengkapnya.

Keterangan

Pesan perangkat audio adalah konstanta yang ditentukan sistem. Jadi, ketika modMessage menerima pesan perangkat audio, modMessage menggunakan pernyataan pengalih untuk menentukan tindakan yang akan dilakukan, berdasarkan nilai pesan.

Rentang pesan kesalahan yang dapat dikembalikan modMessage tergantung pada pesan yang sedang diproses saat kesalahan terjadi. Nilai numerik pesan kesalahan MMSYSERR_ dimulai dengan nol (untuk MMSYSERR_NOERROR) dan lanjutkan dengan MMSYSERR_BASE + n, di mana n adalah bilangan bulat dari 1 hingga 21. Nilai untuk MMSYSERR_BASE adalah konstanta yang ditentukan. Untuk informasi selengkapnya tentang MSYSERR_BASE dan pesan kesalahan MMSYSERR_, lihat Mmsystem.h di Windows SDK dan Mmddk.h di WDK masing-masing.

Persyaratan

Platform target

Desktop

Versi

Tersedia dengan Windows XP dan sistem operasi Windows yang lebih baru.

Header

Mmddk.h (termasuk Mmddk.h, Mmsystem.h, atau Windows.h)

Lihat juga

MODM_OPEN