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 |
---|---|
|
Die angegebene Ressource ist bereits zugeordnet. |
|
Der angegebene Gerätebezeichner liegt außerhalb des Bereichs. |
|
Die von dwFlags angegebenen Flags sind ungültig. |
|
Der angegebene Zeiger oder die angegebene Struktur ist ungültig. |
|
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 |