midiInOpen-Funktion (mmeapi.h)

Die midiInOpen-Funktion öffnet ein angegebenes MIDI-Eingabegerät.

Syntax

MMRESULT midiInOpen(
  LPHMIDIIN phmi,
  UINT      uDeviceID,
  DWORD_PTR dwCallback,
  DWORD_PTR dwInstance,
  DWORD     fdwOpen
);

Parameter

phmi

Zeiger auf ein HMIDIIN-Handle . Diese Position wird mit einem Handle gefüllt, der das geöffnete MIDI-Eingabegerät identifiziert. Der Handle wird verwendet, um das Gerät bei Aufrufen anderer MIDI-Eingabefunktionen zu identifizieren.

uDeviceID

Bezeichner des zu öffnenden MIDI-Eingabegeräts.

dwCallback

Zeiger auf eine Rückruffunktion, einen Threadbezeichner oder ein Handle eines Fensters, das mit Informationen zu eingehenden MIDI-Nachrichten aufgerufen wird. Weitere Informationen zur Rückruffunktion finden Sie unter MidiInProc.

dwInstance

Benutzer instance Daten, die an die Rückruffunktion übergeben werden. Dieser Parameter wird nicht mit Fensterrückruffunktionen oder -threads verwendet.

fdwOpen

Rückrufflagge zum Öffnen des Geräts und optional ein status-Flag, das schnelle Datenübertragungen regelt. Es können die folgenden Werte sein.

Wert Bedeutung
CALLBACK_FUNCTION Der dwCallback-Parameter ist eine Rückrufprozeduradresse.
CALLBACK_NULL Es gibt keinen Rückrufmechanismus. Dieser Wert ist die Standardeinstellung.
CALLBACK_THREAD Der dwCallback-Parameter ist ein Threadbezeichner.
CALLBACK_WINDOW Der dwCallback-Parameter ist ein Fensterhandle.
MIDI_IO_STATUS Wenn dieser Parameter auch CALLBACK_FUNCTION angibt, werden MIM_MOREDATA Nachrichten an die Rückruffunktion sowie an MIM_DATA Nachrichten gesendet. Wenn dieser Parameter auch CALLBACK_WINDOW angibt, werden MM_MIM_MOREDATA Nachrichten sowie MM_MIM_DATA Nachrichten an das Fenster gesendet. Dieses Flag wirkt sich nicht auf Ereignis- oder Threadrückrufe aus.
 

Die meisten Anwendungen, die einen Rückrufmechanismus verwenden, geben CALLBACK_FUNCTION für diesen Parameter an.

Rückgabewert

Gibt MMSYSERR_NOERROR zurück, wenn erfolgreich oder andernfalls ein Fehler aufgetreten ist. Mögliche Fehlerwerte sind:

Rückgabecode Beschreibung
MMSYSERR_ALLOCATED
Die angegebene Ressource ist bereits zugeordnet.
MMSYSERR_BADDEVICEID
Der angegebene Gerätebezeichner liegt außerhalb des Bereichs.
MMSYSERR_INVALFLAG
Die von dwFlags angegebenen Flags sind ungültig.
MMSYSERR_INVALPARAM
Der angegebene Zeiger oder die angegebene Struktur ist ungültig.
MMSYSERR_NOMEM
Das System kann arbeitsspeicher nicht zuordnen oder sperren.

Hinweise

Verwenden Sie die MidiInGetNumDevs-Funktion , um die Anzahl der im System vorhandenen MIDI-Eingabegeräte zu ermitteln. Der von wDeviceID angegebene Gerätebezeichner variiert von null bis eins kleiner als die Anzahl der vorhandenen Geräte.

Wenn ein Fenster oder Thread zum Empfangen von Rückrufinformationen ausgewählt wird, werden die folgenden Meldungen an die Fensterprozedur oder den Thread gesendet, um den Fortschritt der MIDI-Eingabe anzugeben: MM_MIM_OPEN, MM_MIM_CLOSE, MM_MIM_DATA, MM_MIM_LONGDATA, MM_MIM_ERROR, MM_MIM_LONGERROR und MM_MIM_MOREDATA.

Wenn eine Funktion zum Empfangen von Rückrufinformationen ausgewählt wird, werden die folgenden Meldungen an die Funktion gesendet, um den Fortschritt der MIDI-Eingabe anzugeben: MIM_OPEN, MIM_CLOSE, MIM_DATA, MIM_LONGDATA, MIM_ERROR, MIM_LONGERROR und MIM_MOREDATA.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mmeapi.h (einschließlich Windows.h)
Bibliothek Winmm.lib
DLL Winmm.dll

Weitere Informationen

MIDI-Funktionen