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 :
Pour plus d’informations, consultez Obtention d’un nom d’interface d’appareil.
Pour plus d’informations, consultez Obtention d’un nom d’interface d’appareil.
Interroge le numéro de devnode d’un appareil.
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.
Pour plus d’informations, consultez Accès à l’ID d’appareil préféré.