Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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, le cas échéant. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
Pour envoyer une commande de chaîne à un appareil MCI, utilisez la fonctionmciSendString, qui inclut des paramètres pour la commande de chaîne et une mémoire tampon pour toutes les informations retournées.
La fonction mciSendString retourne zéro si elle réussit. Si la fonction échoue, le mot de bas ordre de la valeur de retour contient un code d’erreur. Vous pouvez transmettre ce code d’erreur à la fonction mciGetErrorString pour obtenir une description textuelle de l’erreur.
Syntaxe des chaînes de commande
Les chaînes de commande MCI utilisent une syntaxe verb-object-modificateur cohérente. Chaque chaîne de commande comprend une commande, un identificateur d’appareil et des arguments de commande. Les arguments sont facultatifs pour certaines commandes et requis pour d’autres.
Une chaîne de commande a la forme suivante :
arguments de commande device_id
Ces composants contiennent les informations suivantes :
La commande spécifie une commande MCI, telle que ouvrir, fermerou lire.
Le device_id identifie une instance d’un pilote MCI. La device_id est créée lors de l’ouverture de l’appareil.
Les arguments spécifier les indicateurs et les variables utilisés par la commande. Les indicateurs sont des mots clés reconnus avec la commande MCI. Les variables sont des nombres ou des chaînes qui s’appliquent à la commande ou à l’indicateur MCI.
Par exemple, la commande lire utilise les arguments « de position » et « à position » pour indiquer les positions auxquelles commencer et terminer le jeu. Vous pouvez répertorier les indicateurs utilisés avec une commande dans n’importe quel ordre. Lorsque vous utilisez un indicateur associé à une variable, vous devez fournir une valeur pour la variable.
Les arguments de commande non spécifiés (et facultatifs) supposent une valeur par défaut.
L’exemple de fonction suivant envoie la lire commande avec les indicateurs « from » et « to ».
BOOL PlayFromTo(LPTSTR lpstrAlias, DWORD dwFrom, DWORD dwTo)
{
TCHAR achCommandBuff[128];
int result;
MCIERROR err;
// Form the command string.
result = _stprintf_s(
achCommandBuff,
TEXT("play %s from %u to %u"),
lpstrAlias, dwFrom, dwTo);
if (result == -1)
{
return FALSE;
}
// Send the command string.
err = mciSendString(achCommandBuff, NULL, 0, NULL);
if (err != 0)
{
return FALSE;
}
return TRUE;
}
Types de données pour les variables de commande
Vous pouvez utiliser les types de données suivants pour les variables dans une chaîne de commande.
| type de données | Description |
|---|---|
| Cordes | Les types de données de chaîne sont délimités par des espaces blancs de début et de fin et des guillemets. MCI supprime des guillemets simples d’une chaîne. Pour placer un guillemet dans une chaîne, utilisez un ensemble de deux guillemets où vous souhaitez incorporer votre guillemet. Pour utiliser une chaîne vide, utilisez deux guillemets délimités par des espaces blancs de début et de fin. |
| Entiers longs signés | Les types de données entiers longs signés sont délimités par des espaces blancs de début et de fin. Sauf indication contraire, les entiers peuvent être positifs ou négatifs. Si vous utilisez des entiers négatifs, vous ne devez pas séparer le signe moins et le premier chiffre avec un espace. |
| Rectangles | Les types de données rectangle sont une liste triée de quatre valeurs courtes signées. L’espace blanc délimite ce type de données et sépare chaque entier de la liste. |