Funzione midiInOpen (mmeapi.h)

La funzione midiInOpen apre un dispositivo di input MIDI specificato.

Sintassi

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

Parametri

phmi

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

uDeviceID

Identificatore del dispositivo di input MIDI da aprire.

dwCallback

Puntatore a una funzione di callback, a un identificatore di thread o a un handle di una finestra chiamata con informazioni sui messaggi MIDI in ingresso. Per altre informazioni sulla funzione di callback, vedere MidiInProc.

dwInstance

Dati dell'istanza utente passati alla funzione di callback. Questo parametro non viene usato con le funzioni di callback della finestra o i thread.

fdwOpen

Flag di callback per l'apertura del dispositivo e, facoltativamente, un flag di stato che consente di regolare i trasferimenti rapidi dei dati. Può trattarsi dei valori seguenti.

Valore Significato
CALLBACK_FUNCTION Il parametro dwCallback è un indirizzo di routine 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.
MIDI_IO_STATUS Quando questo parametro specifica anche CALLBACK_FUNCTION, MIM_MOREDATA messaggi vengono inviati alla funzione di callback e MIM_DATA messaggi. In alternativa, se questo parametro specifica anche CALLBACK_WINDOW, MM_MIM_MOREDATA messaggi vengono inviati alla finestra e MM_MIM_DATA messaggi. Questo flag non influisce sui callback di eventi o thread.
 

La maggior parte delle applicazioni che usano un meccanismo di callback specifica CALLBACK_FUNCTION per questo parametro.

Valore restituito

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

Codice restituito Descrizione
MMSYSERR_ALLOCATED
La risorsa specificata è già allocata.
MMSYSERR_BADDEVICEID
L'identificatore del dispositivo specificato non è compreso nell'intervallo.
MMSYSERR_INVALFLAG
I flag specificati da dwFlags non sono validi.
MMSYSERR_INVALPARAM
Il puntatore o la struttura specificati non sono validi.
MMSYSERR_NOMEM
Il sistema non è in grado di allocare o bloccare la memoria.

Commenti

Per determinare il numero di dispositivi di input MIDI presenti nel sistema, utilizzare la funzione midiInGetNumDevs . L'identificatore del dispositivo specificato da wDeviceID varia da zero a uno minore del numero di dispositivi presenti.

Se si seleziona una finestra o un thread per ricevere informazioni di callback, i messaggi seguenti vengono inviati alla routine o al thread della finestra per indicare lo stato di avanzamento dell'input MIDI: MM_MIM_OPEN, MM_MIM_CLOSE, MM_MIM_DATA, MM_MIM_LONGDATA, MM_MIM_ERROR, MM_MIM_LONGERROR e MM_MIM_MOREDATA.

Se si seleziona una funzione per ricevere informazioni di callback, alla funzione vengono inviati i messaggi seguenti per indicare lo stato di avanzamento dell'input MIDI: MIM_OPEN, MIM_CLOSE, MIM_DATA, MIM_LONGDATA, MIM_ERROR, MIM_LONGERROR e MIM_MOREDATA.

Requisiti

Requisito Valore
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 (include Windows.h)
Libreria Winmm.lib
DLL Winmm.dll

Vedi anche

Funzioni MIDI