Partager via


messages d’appareil System-Intercepted

Les fonctions multimédias Windows suivantes permettent aux appelants de transmettre des messages à des appareils audio hérités :

Certains de ces messages d’appareil sont gérés directement par le pilote de périphérique, et certains sont gérés par le système pour le compte de l’appareil.

Cette section décrit uniquement les messages interceptés par le système et gérés sans jamais être transmis au pilote de périphérique. Les messages interceptés par le système peuvent obtenir l’appareil préféré pour les communications vocales ou l’utilisation audio générale. En outre, les messages interceptés par le système peuvent fournir les informations suivantes sur un appareil particulier :

  • Nom de l’interface de l’appareil

    Pour plus d’informations sur les noms d’interface d’appareil, consultez Présentation des interfaces d’appareil.

  • Numéro de devnode Plug-and-Play de l’appareil

    For information about devnodes, see Device Tree.

  • Indique si l’appareil peut être utilisé par un mappeur

    Un mappeur sélectionne un appareil approprié en mappant les exigences d’une application à l’un des appareils disponibles dans le système. Pour plus d’informations sur les mappeurs, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.

Pour plus d’informations sur d’autres types de messages d’appareil, consultez la documentation du Kit de développement logiciel (SDK) Windows.

An XxxMessage function has the following syntax:

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

Le premier paramètre est un ID d’appareil. 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. Notez que si l’appelant fournit un handle valide au lieu d’un ID d’appareil pour ce paramètre, la fonction échoue et retourne le code d’erreur MMSYSERR_NOSUPPORT.

The uMsg parameter specifies a message value (for example, DRV_QUERYDEVICEINTERFACE). Pour obtenir la liste des messages spécifiques au pilote, consultez le fichier d’en-tête 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 fonction retourne MMERR_NOERROR si l’appel réussit, ou un code d’état d’erreur s’il ne le fait pas.

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

Le fichier d’en-tête Mmddk.h définit les messages d’appareil interceptés par le système suivants :

DRV_QUERYDEVICEINTERFACE

Pour plus d’informations, consultez Obtention d’un nom d’interface d’appareil.

DRV_QUERYDEVICEINTERFACESIZE

Pour plus d’informations, consultez Obtention d’un nom d’interface d’appareil.

DRV_QUERYDEVNODE

Interroge le numéro de devnode d’un appareil.

DRV_QUERYMAPPABLE

Interroge si un appareil peut être utilisé par un mappeur.

DRVM_MAPPER_CONSOLEVOICECOM_GET

Pour plus d’informations, consultez L’ID d’appareil Voice-Communications préféré.

DRVM_MAPPER_PREFERRED_GET

Pour plus d’informations, consultez Accès à l’ID d’appareil préféré.