midiOutOpen-Funktion (mmeapi.h)

Die midiOutOpen-Funktion öffnet ein MIDI-Ausgabegerät für die Wiedergabe.

Syntax

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

Parameter

phmo

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

uDeviceID

Bezeichner des zu öffnenden MIDI-Ausgabegeräts.

dwCallback

Zeiger auf eine Rückruffunktion, ein Ereignishandle, einen Threadbezeichner oder ein Handle eines Fensters oder Threads, das während der MIDI-Wiedergabe aufgerufen wird, um Meldungen im Zusammenhang mit dem Fortschritt der Wiedergabe zu verarbeiten. Wenn kein Rückruf gewünscht ist, geben Sie null für diesen Parameter an. Weitere Informationen zur Rückruffunktion finden Sie unter MidiOutProc.

dwInstance

Der Benutzer instance Daten, die an den Rückruf übergeben werden. Dieser Parameter wird nicht für Fensterrückrufe oder Threads verwendet.

fdwOpen

Rückrufflag zum Öffnen des Geräts. Dies können die folgenden Werte sein.

Wert Bedeutung
CALLBACK_EVENT Der dwCallback-Parameter ist ein Ereignishandle. Dieser Rückrufmechanismus ist nur für die Ausgabe vorgesehen.
CALLBACK_FUNCTION Der dwCallback-Parameter ist eine Rückruffunktionsadresse.
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.

Rückgabewert

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

Rückgabecode Beschreibung
MIDIERR_NODEVICE
Es wurde kein MIDI-Port gefunden. Dieser Fehler tritt nur auf, wenn der Mapper geöffnet wird.
MMSYSERR_ALLOCATED
Die angegebene Ressource ist bereits zugeordnet.
MMSYSERR_BADDEVICEID
Der angegebene Gerätebezeichner liegt außerhalb des Bereichs.
MMSYSERR_INVALPARAM
Der angegebene Zeiger oder die angegebene Struktur ist ungültig.
MMSYSERR_NOMEM
Das System kann Arbeitsspeicher nicht zuordnen oder sperren.

Hinweise

Um die Anzahl der im System vorhandenen MIDI-Ausgabegeräte zu ermitteln, verwenden Sie die Funktion midiOutGetNumDevs . Der durch wDeviceID angegebene Gerätebezeichner variiert von null bis 1 kleiner als die Anzahl der vorhandenen Geräte. MIDI_MAPPER kann auch als Gerätebezeichner verwendet werden.

Wenn ein Fenster oder Thread für den Empfang von Rückrufinformationen ausgewählt wird, werden die folgenden Meldungen an die Fensterprozedur oder den Thread gesendet, um den Fortschritt der MIDI-Ausgabe anzugeben: MM_MOM_OPEN, MM_MOM_CLOSE und MM_MOM_DONE.

Wenn eine Funktion zum Empfangen von Rückrufinformationen ausgewählt wird, werden die folgenden Meldungen an die Funktion gesendet, um den Fortschritt der MIDI-Ausgabe anzuzeigen: MOM_OPEN, MOM_CLOSE und MOM_DONE.

Anforderungen

   
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ßen von Windows.h)
Bibliothek Winmm.lib
DLL Winmm.dll

Weitere Informationen

MIDI-Funktionen