Condividi tramite


Stringhe di comando

[La funzionalità associata a questa pagina, MCI, è una funzionalità legacy. È stato sostituito da MediaPlayer. MediaPlayer è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer invece di MCI, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Per inviare un comando stringa a un dispositivo MCI, usare la funzione mciSendString , che include i parametri per il comando stringa e un buffer per le informazioni restituite.

Se ha esito positivo, la funzione mciSendString restituisce zero. Se la funzione ha esito negativo, la parola in ordine basso del valore restituito contiene un codice di errore. È possibile passare questo codice di errore alla funzione mciGetErrorString per ottenere una descrizione testuale dell'errore.

Sintassi delle stringhe di comando

Le stringhe di comando MCI usano una sintassi coerente verb-object-modifier. Ogni stringa di comando include un comando, un identificatore del dispositivo e argomenti di comando. Gli argomenti sono facoltativi per alcuni comandi e obbligatori per altri.

Una stringa di comando ha il formato seguente:

argomenti del comando device_id

Questi componenti contengono le informazioni seguenti:

  • Il comando specifica un comando MCI, ad esempio apertura, chiusura o riproduzione.

  • Il device_id identifica un'istanza di un driver MCI. Il device_id viene creato all'apertura del dispositivo.

  • Gli argomenti specificano i flag e le variabili usati dal comando . I flag sono parole chiave riconosciute con il comando MCI. Le variabili sono numeri o stringhe che si applicano al comando o al flag MCI.

    Ad esempio, il comando play usa gli argomenti "dalla posizione " e "per posizionare " per indicare le posizioni in corrispondenza della quale iniziare e terminare la riproduzione. È possibile elencare i flag usati con un comando in qualsiasi ordine. Quando si usa un flag a cui è associata una variabile, è necessario specificare un valore per la variabile.

    Gli argomenti di comando non specificati (e facoltativi) presuppongono un valore predefinito.

La funzione di esempio seguente invia il comando play con i flag "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;
} 

Tipi di dati per le variabili di comando

È possibile usare i tipi di dati seguenti per le variabili in una stringa di comando.

Tipo di dati Descrizione
Stringhe I tipi di dati stringa sono delimitati da spazi vuoti iniziali e finali e virgolette. MCI rimuove le virgolette singole da una stringa. Per inserire una virgoletta in una stringa, usare un set di due virgolette in cui si desidera incorporare le virgolette. Per usare una stringa vuota, usare due virgolette delimitate da spazi vuoti iniziali e finali.
Interi lunghi con segno I tipi di dati long integer con segno sono delimitati da spazi vuoti iniziali e finali. Se non diversamente specificato, i numeri interi possono essere positivi o negativi. Se si usano numeri interi negativi, non è consigliabile separare il segno meno e la prima cifra con uno spazio.
Rettangoli I tipi di dati rettangoli sono un elenco ordinato di quattro valori brevi con segno. Lo spazio vuoto delimita questo tipo di dati e separa ogni intero nell'elenco.