Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer вместо MCIпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Чтобы отправить строку команды на устройство MCI, используйте функцию mciSendString, которая включает параметры для команды строки и буфера для любой возвращаемой информации.
Функция mciSendString возвращает ноль в случае успешного выполнения. Если функция завершается ошибкой, слово с низким порядком возвращаемого значения содержит код ошибки. Этот код ошибки можно передать в функцию mciGetErrorString, чтобы получить текстовое описание ошибки.
Синтаксис командных строк
Строки команд MCI используют согласованный синтаксис модификатора verb-object-modifier. Каждая строка команд включает команду, идентификатор устройства и аргументы команд. Аргументы являются необязательными для некоторых команд и требуются для других.
В командной строке имеется следующая форма:
аргумент ы device_id команд
Эти компоненты содержат следующие сведения:
Команда указывает команду MCI, например открыть, закрытьили воспроизвести.
device_id определяет экземпляр драйвера MCI. device_id создается при открытии устройства.
Аргументы указать флаги и переменные, используемые командой. Флаги — это ключевые слова, распознанные с помощью команды MCI. Переменные — это числа или строки, которые применяются к команде или флагу MCI.
Например, команда играть использует аргументы "от позиции" и "позиции", чтобы указать позиции, с которыми следует начать и завершить воспроизведение. Вы можете перечислить флаги, используемые с командой в любом порядке. При использовании флага с переменной, связанной с ней, необходимо указать значение для переменной.
Аргументы команд без указания (и необязательные) предполагают значение по умолчанию.
В следующем примере функция отправляет команду воспроизвести с флагами from и 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;
}
Типы данных для переменных команд
Для переменных в командной строке можно использовать следующие типы данных.
| типа данных | описание |
|---|---|
| Строки | Строковые типы данных разделяются начальными и конечными пробелами и кавычками. MCI удаляет одинарные кавычки из строки. Чтобы поместить кавычки в строку, используйте набор двух кавычки, в которых требуется внедрить кавычки. Чтобы использовать пустую строку, используйте две кавычки, разделенные начальными и конечными пробелами. |
| Подписанные длинные целые числа | Подписанные длинные целые типы данных разделяются начальными и конечными пробелами. Если иное не указано, целые числа могут быть положительными или отрицательными. При использовании отрицательных целых чисел не следует разделять знак минуса и первую цифру пробелом. |
| Прямоугольники | Типы данных прямоугольника — это упорядоченный список четырех подписанных коротких значений. Пробелы разделяют этот тип данных и отделяет каждое целое число в списке. |