Compartir a través de


mensajes de dispositivo de System-Intercepted

Las siguientes funciones multimedia de Windows proporcionan una manera de que los autores de llamadas pasen mensajes a dispositivos de audio heredados:

El controlador del dispositivo controla directamente algunos de estos mensajes de dispositivo y el sistema lo controla en nombre del dispositivo.

En esta sección solo se describen los mensajes interceptados por el sistema y administrados sin pasarse nunca al controlador de dispositivo. Los mensajes interceptados por el sistema pueden obtener el dispositivo preferido para las comunicaciones de voz o el uso general de audio. Además, los mensajes interceptados por el sistema pueden proporcionar la siguiente información sobre un dispositivo determinado:

  • Nombre de la interfaz de dispositivo

    Para obtener información sobre los nombres de interfaz de dispositivo, consulte Introducción a las interfaces de dispositivo.

  • Número de devnode de Plug and Play del dispositivo

    For information about devnodes, see Device Tree.

  • Si un asignador puede usar el dispositivo

    Un asignador selecciona un dispositivo adecuado mediante la asignación de los requisitos de una aplicación a uno de los dispositivos disponibles en el sistema. Para obtener más información sobre los asignadores, consulte la documentación del SDK de Microsoft Windows.

Para obtener información sobre otros tipos de mensajes de dispositivo, consulte la documentación de Windows SDK.

An XxxMessage function has the following syntax:

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

El primer parámetro es un identificador de dispositivo. The auxOutMessage function definition specifies this parameter to be of type UINT, as expected. However, in the case of waveInMessage, waveOutMessage, midiInMessage, midiOutMessage, or mixerMessage, the caller must cast the device ID to handle type HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT, or HMIXER, respectively. Tenga en cuenta que si el autor de la llamada proporciona un identificador válido en lugar de un identificador de dispositivo para este parámetro, se produce un error en la función y se devuelve el código de error MMSYSERR_NOSUPPORT.

The uMsg parameter specifies a message value (for example, DRV_QUERYDEVICEINTERFACE). Para obtener una lista de mensajes específicos del controlador, consulte el archivo de encabezado Mmddk.h.

The meaning of parameters dwParam1 and dwParam2 depends on the message. For example, a particular message might require that dwParam1 be a ULONG value; the caller must cast this value to type DWORD_PTR to satisfy the function definition.

La función devuelve MMERR_NOERROR si la llamada se realiza correctamente o un código de estado de error si no lo hace.

For more information about the XxxMessage functions, see the Windows SDK documentation.

El archivo de encabezado Mmddk.h define los siguientes mensajes de dispositivo interceptados por el sistema:

DRV_QUERYDEVICEINTERFACE

Para obtener más información, consulte Obtención de un nombre de interfaz de dispositivo.

DRV_QUERYDEVICEINTERFACESIZE

Para obtener más información, consulte Obtención de un nombre de interfaz de dispositivo.

DRV_QUERYDEVNODE

Consulta el número de nodo de desarrollo de un dispositivo.

DRV_QUERYMAPPABLE

Consulta si un asignador puede usar un dispositivo.

DRVM_MAPPER_CONSOLEVOICECOM_GET

Para obtener más información, consulte Id. de dispositivo Voice-Communications preferido.

DRVM_MAPPER_PREFERRED_GET

Para obtener más información, consulte Acceso al identificador de dispositivo preferido.