Funzione midiStreamOpen (mmeapi.h)

La funzione midiStreamOpen apre un flusso MIDI per l'output. Per impostazione predefinita, il dispositivo viene aperto in modalità sospesa. L'handle di flusso recuperato da questa funzione deve essere usato in tutti i riferimenti successivi al flusso.

Sintassi

MMRESULT midiStreamOpen(
  LPHMIDISTRM phms,
  LPUINT      puDeviceID,
  DWORD       cMidi,
  DWORD_PTR   dwCallback,
  DWORD_PTR   dwInstance,
  DWORD       fdwOpen
);

Parametri

phms

Puntatore a una variabile per contenere l'handle di flusso quando la funzione restituisce.

puDeviceID

Puntatore a un identificatore di dispositivo. Il dispositivo viene aperto per conto del flusso e chiuso di nuovo quando il flusso viene chiuso.

cMidi

Riservati; deve essere 1.

dwCallback

Puntatore a una funzione di callback, un handle di evento, un identificatore di thread o un handle di una finestra o di un thread chiamato durante la riproduzione MIDI per elaborare i messaggi correlati allo stato di avanzamento della riproduzione. Se non si desidera alcun meccanismo di callback, specificare NULL per questo parametro.

dwInstance

Dati di istanza specifici dell'applicazione restituiti all'applicazione con ogni funzione di callback.

fdwOpen

Flag di callback per l'apertura del dispositivo. È necessario specificare uno dei flag di callback seguenti.

Valore Significato
CALLBACK_EVENT Il parametro dwCallback è un handle di evento. Questo meccanismo di callback è solo per l'output.
CALLBACK_FUNCTION Il parametro dwCallback è un indirizzo di routine di callback. Per la firma di callback, vedi MidiOutProc.
CALLBACK_NULL Non esiste alcun meccanismo di callback. Si tratta dell'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 l'esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.

Codice restituito Descrizione
MMSYSERR_BADDEVICEID
L'identificatore del dispositivo specificato non è compreso nell'intervallo.
MMSYSERR_INVALPARAM
Il parametro handle o flag specificato non è valido.
MMSYSERR_NOMEM
Il sistema non è in grado di allocare o bloccare la memoria.

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

Vedi anche

Funzioni MIDI