Macros et messages des fonctions MCI
[La fonctionnalité associée à cette page, MCI, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer. MediaPlayer a été optimisé pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer au lieu de MCI, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
La plupart des applications MCI utilisent les fonctions mciSendString et mciSendCommand des dizaines de fois. MCI fournit d’autres fonctions utiles que votre application utilisera moins fréquemment.
L’identificateur d’appareil requis par la plupart des commandes MCI est généralement récupéré dans un appel à la commande open (MCI_OPEN). Si vous avez besoin d’un identificateur d’appareil, mais que vous ne souhaitez pas ouvrir l’appareil (par exemple, si vous souhaitez interroger les fonctionnalités de l’appareil avant d’effectuer une autre action), vous pouvez appeler la fonction mciGetDeviceID .
La fonction mciGetCreatorTask permet à votre application d’utiliser un identificateur d’appareil pour récupérer un handle à la tâche qui a créé cet identificateur.
Vous pouvez utiliser les fonctions mciGetYieldProc et mciSetYieldProc pour attribuer et récupérer l’adresse de la fonction de rappel associée à l’indicateur « wait » (MCI_WAIT).
La fonction mciGetErrorString récupère une chaîne qui décrit une valeur d’erreur MCI. Chaque chaîne renvoyée par MCI, qu’il s’agisse de données ou d’une description d’erreur, contient un maximum de 128 caractères. Les champs de boîte de dialogue de moins de 128 caractères tronquent les chaînes plus longues retournées par MCI. Pour plus d’informations sur ces chaînes, consultez Valeurs de retour MCIERR.
Les macros MCI sont des outils que vous pouvez utiliser pour créer et désassembler des valeurs qui spécifient des formats d’heure. Ces formats de temps sont utilisés dans de nombreuses commandes MCI. Les formats activés par les macros sont heures/minutes/secondes (HMS), minutes/secondes/images (MSF) et pistes/minutes/secondes/images (TMSF). Le tableau suivant répertorie les macros et leurs descriptions.
Macro | Description |
---|---|
MCI_HMS_HOUR | Récupère le composant hours à partir d’une valeur HMS. |
MCI_HMS_MINUTE | Récupère le composant minutes à partir d’une valeur HMS. |
MCI_HMS_SECOND | Récupère le composant secondes à partir d’une valeur HMS. |
MCI_MAKE_HMS | Crée une valeur HMS. |
MCI_MAKE_MSF | Crée une valeur MSF. |
MCI_MAKE_TMSF | Crée une valeur TMSF. |
MCI_MSF_FRAME | Récupère le composant frames à partir d’une valeur MSF. |
MCI_MSF_MINUTE | Récupère le composant minutes à partir d’une valeur MSF. |
MCI_MSF_SECOND | Récupère le composant secondes à partir d’une valeur MSF. |
MCI_TMSF_FRAME | Récupère le composant frames à partir d’une valeur TMSF. |
MCI_TMSF_MINUTE | Récupère le composant minutes à partir d’une valeur TMSF. |
MCI_TMSF_SECOND | Récupère le composant secondes à partir d’une valeur TMSF. |
MCI_TMSF_TRACK | Récupère le composant de suivi à partir d’une valeur TMSF. |
MCI fournit également deux messages : MM_MCINOTIFY et MM_MCISIGNAL. Le message MM_MCINOTIFY avertit une application du résultat d’une commande MCI chaque fois que cette commande spécifie l’indicateur « notify » (MCI_NOTIFY). Le message MM_MCISIGNAL est spécifique aux appareils vidéo numériques ; il avertit l’application lorsqu’une position spécifiée est atteinte.