Partager via


modMessage, fonction

La fonction modMessage est la fonction de point d’entrée pour les pilotes de sortie MIDI (Music Instrument Digital Interface) et pour les pilotes de synthétiseur internes. Pour plus d’informations sur les messages d’appareil audio liés à MIDI, consultez Audio Device Messages for MIDI.

Syntaxe

DWORD modMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwUser,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

Paramètres

  • uDeviceID
    Spécifie l’ID de l’appareil cible. Les ID d’appareil sont séquentiels et ont une valeur initiale de zéro et une valeur finale égale à un de moins que le nombre de périphériques pris en charge par le pilote.

  • uMsg
    Spécifie le message que WINMM envoie au pilote en réponse à un appel de l’application cliente.

  • dwUser
    Pour le message MODM_OPEN, le pilote doit remplir cet emplacement avec ses données instance. Pour tous les autres messages, les données instance sont retournées au pilote. Les pilotes qui prennent en charge plusieurs clients peuvent utiliser ces données instance pour suivre le client associé au message.

  • dwParam1
    Spécifie un paramètre dépendant du message.

  • dwParam2
    Spécifie un paramètre dépendant du message. S’il existe des indicateurs qui fournissent des informations supplémentaires au pilote qui fonctionne avec modMessage, WINMM utilise ce paramètre pour passer les indicateurs.

Valeur retournée

La fonction modMessage retourne MMSYSERR_NOERROR si elle peut traiter correctement le message qu’elle a reçu de MMSYSTEM. Sinon, il retourne l’un des messages d’erreur suivants.

Code de retour Description
MMSYSERR_ERROR

Erreur non spécifiée.

MMSYSERR_BADDEVICEID

L’ID d’appareil spécifié est hors limites.

MMSYSERR_NOTENABLED

Le pilote n’a pas pu charger ou initialiser.

MMSYSERR_ALLOCATED

L’appareil spécifié est déjà alloué.

MMSYSERR_INVALHANDLE

Le handle de l’appareil spécifié n’est pas valide.

MMSYSERR_NODRIVER

Aucun pilote de périphérique n’est présent.

MMSYSERR_NOMEM

Erreur d'allocation de mémoire.

MMSYSERR_NOTSUPPORTED

La fonction demandée par le message n’est pas prise en charge.

MMSYSERR_BADERRNUM

La valeur d’erreur est hors limites. Pour plus d’informations, consultez la section Notes.

MMSYSERR_INVALFLAG

Un indicateur non valide a été passé à modMessage(à l’aide de dwParam2).

MMSYSERR_INVALPARAM

Un paramètre non valide a été passé à modMessage.

MMSYSERR_HANDLEBUSY

Le handle spécifié est utilisé simultanément par un autre thread (par exemple, un thread de rappel).

MMSYSERR_INVALIDALIAS

L’alias spécifié est introuvable.

MMSYSERR_BADDB

Base de données de registre incorrecte.

MMSYSERR_KEYNOTFOUND

La clé de Registre spécifiée est introuvable.

MMSYSERR_READERROR

Erreur de lecture du Registre.

MMSYSERR_WRITEERROR

Erreur d’écriture dans le Registre.

MMSYSERR_DELETEERROR

Erreur de suppression du Registre.

MMSYSERR_VALNOTFOUND

La valeur de Registre spécifiée est introuvable.

MMSYSERR_NODRIVERCB

Le pilote qui fonctionne avec modMessage n’appelle pas DriverCallback.

MMSYSERR_MOREDATA

modMessage a plus de données à retourner.

MMSYSERR_LASTERROR

Indique qu’il s’agit de la dernière erreur dans la plage de valeurs d’erreur. Pour plus d’informations, consultez la section Notes.

Remarques

Les messages d’appareil audio sont des constantes définies par le système. Ainsi, quand modMessage reçoit un message de périphérique audio, il utilise une instruction switch pour déterminer l’action à effectuer, en fonction de la valeur du message.

La plage de messages d’erreur que modMessage peut retourner dépend du message qu’il traitait au moment où l’erreur s’est produite. Les valeurs numériques des messages d’erreur MMSYSERR_ commencent par zéro (pour MMSYSERR_NOERROR) et continuent par MMSYSERR_BASE + n, où n est un entier compris entre 1 et 21. La valeur de MMSYSERR_BASE est une constante définie. Pour plus d’informations sur MSYSERR_BASE et les messages d’erreur MMSYSERR_, consultez Mmsystem.h dans le Kit de développement logiciel (SDK) Windows et Mmddk.h dans wdK, respectivement.

Configuration requise

Plateforme cible

Desktop (Expérience utilisateur)

Version

Disponible avec les systèmes d’exploitation Windows XP et ultérieurs.

En-tête

Mmddk.h (inclure Mmddk.h, Mmsystem.h ou Windows.h)

Voir aussi

MODM_OPEN