funzione midiOutOpen (mmeapi.h)

La funzione midiOutOpen apre un dispositivo di output MIDI per la riproduzione.

Sintassi

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

Parametri

phmo

Puntatore a un handle HMIDIOUT . Questa posizione viene riempita con un handle che identifica il dispositivo di output MIDI aperto. L'handle viene usato per identificare il dispositivo nelle chiamate ad altre funzioni di output MIDI.

uDeviceID

Identificatore del dispositivo di output MIDI da aprire.

dwCallback

Puntatore a una funzione di callback, un handle di eventi, un identificatore di thread o un handle di una finestra o di un thread denominato durante la riproduzione MIDI per elaborare i messaggi correlati allo stato di avanzamento della riproduzione. Se non è desiderato alcun callback, specificare NULL per questo parametro. Per altre informazioni sulla funzione di callback, vedere MidiOutProc.

dwInstance

Dati dell'istanza utente passati al callback. Questo parametro non viene usato con callback delle finestre o thread.

fdwOpen

Flag di callback per aprire il dispositivo. Può essere il valore seguente.

Valore Significato
CALLBACK_EVENT Il parametro dwCallback è un handle di eventi. Questo meccanismo di callback è solo per l'output.
CALLBACK_FUNCTION Il parametro dwCallback è un indirizzo della funzione di callback.
CALLBACK_NULL Non esiste alcun meccanismo di callback. Questo valore è l'impostazione predefinita.
CALLBACK_THREAD Il parametro dwCallback è un identificatore di thread.
CALLBACK_WINDOW Il parametro dwCallback è un handle di finestra.

Valore restituito

Restituisce MMSYSERR_NOERROR se ha esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.

Codice restituito Descrizione
MIDIERR_NODEVICE
Nessuna porta MIDI è stata trovata. Questo errore si verifica solo quando viene aperto il mapper.
MMSYSERR_ALLOCATED
La risorsa specificata è già allocata.
MMSYSERR_BADDEVICEID
L'identificatore del dispositivo specificato non è compreso nell'intervallo.
MMSYSERR_INVALPARAM
Il puntatore o la struttura specificati non è valido.
MMSYSERR_NOMEM
Il sistema non è in grado di allocare o bloccare la memoria.

Commenti

Per determinare il numero di dispositivi di output MIDI presenti nel sistema, usare la funzione midiOutGetNumDevs . L'identificatore del dispositivo specificato da wDeviceID varia da zero a uno inferiore al numero di dispositivi presenti. MIDI_MAPPER può essere usato anche come identificatore del dispositivo.

Se una finestra o un thread viene scelto per ricevere informazioni di callback, i messaggi seguenti vengono inviati alla procedura o al thread della finestra per indicare lo stato di avanzamento dell'output MIDI: MM_MOM_OPEN, MM_MOM_CLOSE e MM_MOM_DONE.

Se una funzione viene scelta per ricevere informazioni di callback, i messaggi seguenti vengono inviati alla funzione per indicare lo stato di avanzamento dell'output MIDI: MOM_OPEN, MOM_CLOSE e MOM_DONE.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mmeapi.h (includere Windows.h)
Libreria Winmm.lib
DLL Winmm.dll

Vedi anche

Funzioni MIDI