Condividi tramite


System-Intercepted messaggi del dispositivo

Le funzioni multimediali windows seguenti consentono ai chiamanti di passare messaggi ai dispositivi audio legacy:

Alcuni di questi messaggi di dispositivo vengono gestiti direttamente dal driver del dispositivo e alcuni vengono gestiti dal sistema per conto del dispositivo.

Questa sezione illustra solo i messaggi intercettati dal sistema e gestiti senza mai essere passati al driver del dispositivo. I messaggi intercettati dal sistema possono ottenere il dispositivo preferito per le comunicazioni vocali o l'utilizzo audio generale. Inoltre, i messaggi intercettati dal sistema possono fornire le informazioni seguenti su un determinato dispositivo:

  • Nome dell'interfaccia del dispositivo

    Per informazioni sui nomi dell'interfaccia del dispositivo, vedere Introduzione alle interfacce dispositivo.

  • Numero di devnode plug and play del dispositivo

    Per informazioni sui devnodes, vedere Albero dei dispositivi.

  • Indica se il dispositivo può essere usato da un mapper

    Un mapper seleziona un dispositivo appropriato eseguendo il mapping dei requisiti di un'applicazione a uno dei dispositivi disponibili nel sistema. Per altre informazioni sui mapping, vedere la documentazione di Microsoft Windows SDK.

Per informazioni su altri tipi di messaggi di dispositivo, vedere la documentazione di Windows SDK.

Una funzione XxxMessage ha la sintassi seguente:

DWORD XxxMessage(
<device ID>,
    UINT  uMsg,
    DWORD_PTR  dwParam1,
    DWORD_PTR  dwParam2
    );

Il primo parametro è un ID dispositivo. La definizione della funzione auxOutMessage specifica questo parametro per essere di tipo UINT, come previsto. Tuttavia, nel caso di waveInMessage, waveOutMessage, midiInMessage, midiOutMessage o mixerMessage, il chiamante deve eseguire il cast dell'ID dispositivo per gestire rispettivamente il tipo HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT o HMIXER. Si noti che se il chiamante fornisce un handle valido anziché un ID dispositivo per questo parametro, la funzione ha esito negativo e restituisce il codice di errore MMSYSERR_NOSUPPORT.

Il parametro uMsg specifica un valore del messaggio, ad esempio DRV_QUERYDEVICEINTERFACE. Per un elenco di messaggi specifici del driver, vedere file di intestazione Mmddk.h.

Il significato dei parametri dwParam1 e dwParam2 dipende dal messaggio. Ad esempio, un messaggio specifico potrebbe richiedere che dwParam1 sia un valore ULONG; il chiamante deve eseguire il cast di questo valore per digitare DWORD_PTR per soddisfare la definizione della funzione.

La funzione restituisce MMERR_NOERROR se la chiamata ha esito positivo o un codice di stato di errore se non lo fa.

Per altre informazioni sulle funzioni XxxMessage, vedere la documentazione di Windows SDK.

Il file di intestazione Mmddk.h definisce i messaggi di dispositivo intercettati di sistema seguenti:

DRV_QUERYDEVICEINTERFACE

Per altre informazioni, vedere Recupero di un nome dell'interfaccia dispositivo.

DRV_QUERYDEVICEINTERFACESIZE

Per altre informazioni, vedere Recupero di un nome dell'interfaccia dispositivo.

DRV_QUERYDEVNODE

Query per il numero di devnode di un dispositivo.

DRV_QUERYMAPPABLE

Esegue una query sul fatto che un dispositivo possa essere usato da un mapper.

DRVM_MAPPER_CONSOLEVOICECOM_GET

Per altre informazioni, vedere Id dispositivo preferito Voice-Communications.

DRVM_MAPPER_PREFERRED_GET

Per altre informazioni, vedere Accesso all'ID dispositivo preferito.