Partager via


messages d’appareil System-Intercepted

Les fonctions multimédias Windows suivantes permettent aux appelants de passer des messages à des périphériques audio hérités :

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

Cette section traite uniquement des 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

    Pour plus d’informations sur les devnodes, consultez Arborescence des appareils.

  • 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 Microsoft Windows SDK.

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

Une fonction XxxMessage a la syntaxe suivante :

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

Le premier paramètre est un ID d’appareil. La définition de la fonction auxOutMessage spécifie que ce paramètre doit être de type UINT, comme prévu. Toutefois, dans le cas de waveInMessage, waveOutMessage, midiInMessage, midiOutMessage ou mixerMessage, l’appelant doit caster l’ID de l’appareil pour gérer le type HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT ou HMIXER, respectivement. 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.

Le paramètre uMsg spécifie une valeur de message (par exemple, DRV_QUERYDEVICEINTERFACE). Pour obtenir la liste des messages spécifiques au pilote, consultez le fichier d’en-tête Mmddk.h.

La signification des paramètres dwParam1 et dwParam2 dépend du message. Par exemple, un message particulier peut exiger que dwParam1 soit une valeur ULONG ; l’appelant doit convertir cette valeur en type DWORD_PTR pour satisfaire la définition de la fonction.

La fonction retourne MMERR_NOERROR si l’appel réussit, ou une erreur status code si ce n’est pas le cas.

Pour plus d’informations sur les fonctions XxxMessage, consultez la documentation du Kit de développement logiciel (SDK) Windows.

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

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

DRVM_MAPPER_CONSOLEVOICECOM_GET

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

DRVM_MAPPER_PREFERRED_GET

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