Condividi tramite


funzione MODM_OPEN

WINMM invia il MODM_OPEN messaggio alla funzione modMessage di un driver di output MIDI per allocare un dispositivo specificato che un'applicazione client può usare.

Sintassi

DWORD modMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwUser,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

Parametri

  • uDeviceID
    Specifica l'ID del dispositivo di destinazione. Gli ID dispositivo sono sequenziali e hanno un valore iniziale pari a zero e un valore finale uguale a uno minore del numero di dispositivi supportati dal driver.

  • Umsg
    WINMM imposta questo parametro su MODM_OPEN quando chiama modMessage per elaborare questo messaggio.

  • dwUser
    Il driver di output MIDI deve riempire questa posizione con i relativi dati di istanza, ma solo in risposta a MODM_OPEN.

  • dwParam1
    Questo parametro specifica un puntatore lontano a una struttura MIDIOPENDESC . Questa struttura contiene informazioni aggiuntive per il driver, ad esempio i dati dell'istanza dal client e una funzione di callback per il client.

  • dwParam2
    Questo parametro specifica i flag di opzione che determinano la modalità di apertura del dispositivo. I flag possono essere uno qualsiasi dei valori della tabella seguente.

    Contrassegno Significato

    CALLBACK_EVENT

    Se questo flag viene specificato, si presuppone che dwCallback nella struttura MIDIOPENDESC sia un handle di evento.

    CALLBACK_FUNCTION

    Se questo flag viene specificato, si presuppone che dwCallback nella struttura MIDIOPENDESC sia l'indirizzo di una funzione di callback.

    CALLBACK_THREAD

    Se questo flag viene specificato, si presuppone che dwCallback nella struttura MIDIOPENDESC sia un handle per un thread.

    CALLBACK_WINDOW

    Se questo flag viene specificato, si presuppone che dwCallback nella struttura MIDIOPENDESC sia un handle di finestra.

    MIDI_IO_COOKED

    Se questo flag viene specificato, il dispositivo viene aperto in modalità flusso e il driver riceve messaggi di flusso. Il conducente deve essere in grado di gestire eventuali contingenze che si verificano. Ad esempio, il driver deve essere in grado di riprodurre messaggi brevi e messaggi esclusivi del sistema in modo asincrono nel flusso.

Valore restituito

La funzione modMessage restituisce MMSYSERR_NOERROR se l'operazione ha esito positivo. In caso contrario, restituisce uno dei messaggi di errore nella tabella seguente.

Codice restituito Descrizione
MMSYSERR_NOTENABLED

Impossibile caricare o inizializzare il driver.

MMSYSERR_ALLOCATED

Il dispositivo MIDI è già allocato dal numero massimo di client supportati dal driver o non può essere aperto a causa di limitazioni delle risorse di sistema diverse dalla memoria.

MMSYSERR_NOMEM

Impossibile aprire il dispositivo a causa di un errore di allocazione o blocco della memoria.

Commenti

Il driver deve essere in grado di determinare il numero di client che può consentire l'uso di un determinato dispositivo. Dopo l'apertura di un dispositivo per il numero massimo di client supportati dal driver, il driver restituisce MMSYSERR_ALLOCATED per eventuali richieste aggiuntive per aprire il dispositivo. Se l'operazione di apertura ha esito positivo, il driver usa la funzione DriverCallback per inviare al client un messaggio di MOM_OPEN .

Requisiti

Piattaforma di destinazione

Desktop

Versione

Disponibile in Windows XP e nei sistemi operativi Windows successivi.

Intestazione

Mmddk.h (include Mmddk.h, Mmsystem.h o Windows.h)

Vedi anche

modMessage

MIDIOPENDESC

DriverCallback

MOM_OPEN