Cadeias de caracteres de comando
[O recurso associado a esta página, mci, é um recurso herdado. Foi substituído por MediaPlayer. MediaPlayer foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use mediaplayer em vez de mci, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Para enviar um comando de cadeia de caracteres para um dispositivo MCI, use a função mciSendString, que inclui parâmetros para o comando de cadeia de caracteres e um buffer para qualquer informação retornada.
A função mciSendString retornará zero se bem-sucedida. Se a função falhar, a palavra de ordem baixa do valor retornado conterá um código de erro. Você pode passar esse código de erro para a função mciGetErrorString para obter uma descrição de texto do erro.
Sintaxe de cadeias de caracteres de comando
As cadeias de caracteres de comando MCI usam uma sintaxe consistente de verbo-objeto-modificador. Cada cadeia de caracteres de comando inclui um comando, um identificador de dispositivo e argumentos de comando. Os argumentos são opcionais para alguns comandos e são necessários para outros.
Uma cadeia de caracteres de comando tem o seguinte formulário:
argumentos de device_id de comando
Esses componentes contêm as seguintes informações:
O comando especifica um comando MCI, como aberto, fecharou reproduzir.
O device_id identifica uma instância de um driver MCI. O device_id é criado quando o dispositivo é aberto.
Os argumentos especificar os sinalizadores e variáveis usados pelo comando. Sinalizadores são palavras-chave reconhecidas com o comando MCI. Variáveis são números ou cadeias de caracteres que se aplicam ao comando ou sinalizador MCI.
Por exemplo, o comando reproduzir usa os argumentos "de posição" e "para posição" para indicar as posições nas quais iniciar e terminar o jogo. Você pode listar os sinalizadores usados com um comando em qualquer ordem. Ao usar um sinalizador que tenha uma variável associada a ele, você deve fornecer um valor para a variável.
Argumentos de comando não especificados (e opcionais) assumem um valor padrão.
A função de exemplo a seguir envia o comando reproduzir com os sinalizadores "from" e "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;
}
Tipos de dados para variáveis de comando
Você pode usar os seguintes tipos de dados para as variáveis em uma cadeia de caracteres de comando.
de tipo de dados | descrição |
---|---|
Strings | Os tipos de dados de cadeia de caracteres são delimitados por espaços em branco à esquerda e à direita e aspas. O MCI remove aspas simples de uma cadeia de caracteres. Para colocar uma aspas em uma cadeia de caracteres, use um conjunto de duas aspas em que você deseja inserir a aspa. Para usar uma cadeia de caracteres vazia, use duas aspas delimitadas por espaços em branco à esquerda e à direita. |
Inteiros longos com sinal | Os tipos de dados inteiros longos assinados são delimitados por espaços em branco à esquerda e à direita. A menos que especificado de outra forma, os inteiros podem ser positivos ou negativos. Se você usar inteiros negativos, não deverá separar o sinal de subtração e o primeiro dígito com um espaço. |
Retângulos | Os tipos de dados retângulos são uma lista ordenada de quatro valores curtos assinados. O espaço em branco delimite esse tipo de dados e separa cada inteiro na lista. |