Macro e messaggi delle funzioni MCI
[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.
La maggior parte delle applicazioni MCI usa le funzioni mciSendString e mciSendCommand decine di volte. MCI fornisce alcune altre funzioni utili che l'applicazione userà meno frequentemente.
L'identificatore del dispositivo richiesto dalla maggior parte dei comandi MCI viene in genere recuperato in una chiamata al comando open (MCI_OPEN). Se è necessario un identificatore del dispositivo ma non si vuole aprire il dispositivo, ad esempio se si desidera eseguire una query sulle funzionalità del dispositivo prima di eseguire qualsiasi altra azione, è possibile chiamare la funzione mciGetDeviceID .
La funzione mciGetCreatorTask consente all'applicazione di usare un identificatore di dispositivo per recuperare un handle all'attività che ha creato tale identificatore.
È possibile usare le funzioni mciGetYieldProc e mciSetYieldProc per assegnare e recuperare l'indirizzo della funzione di callback associata al flag "wait" (MCI_WAIT).
La funzione mciGetErrorString recupera una stringa che descrive un valore di errore MCI. Ogni stringa restituita da MCI, che si tratti di dati o una descrizione dell'errore, è un massimo di 128 caratteri. I campi della finestra di dialogo con dimensioni inferiori a 128 caratteri troncano le stringhe più lunghe restituite da MCI. Per altre informazioni su queste stringhe, vedere Valori restituiti MCIERR.
Le macro MCI sono strumenti che è possibile usare per creare e disassemblare valori che specificano i formati di tempo. Questi formati temporali vengono usati in molti comandi MCI. I formati attivati dalle macro sono ore/minuti/secondi (HMS), minuti/secondi/fotogrammi (MSF) e tracce/minuti/secondi/fotogrammi (TMSF). Nella tabella seguente sono elencate le macro e le relative descrizioni.
Macro | Descrizione |
---|---|
MCI_HMS_HOUR | Recupera il componente ore da un valore HMS. |
MCI_HMS_MINUTE | Recupera il componente minuti da un valore HMS. |
MCI_HMS_SECOND | Recupera il componente secondi da un valore HMS. |
MCI_MAKE_HMS | Crea un valore HMS. |
MCI_MAKE_MSF | Crea un valore MSF. |
MCI_MAKE_TMSF | Crea un valore TMSF. |
MCI_MSF_FRAME | Recupera il componente frame da un valore MSF. |
MCI_MSF_MINUTE | Recupera il componente minuti da un valore MSF. |
MCI_MSF_SECOND | Recupera il componente secondi da un valore MSF. |
MCI_TMSF_FRAME | Recupera il componente frame da un valore TMSF. |
MCI_TMSF_MINUTE | Recupera il componente minuti da un valore TMSF. |
MCI_TMSF_SECOND | Recupera il componente secondi da un valore TMSF. |
MCI_TMSF_TRACK | Recupera il componente di tracce da un valore TMSF. |
MCI fornisce anche due messaggi: MM_MCINOTIFY e MM_MCISIGNAL. Il messaggio MM_MCINOTIFY notifica a un'applicazione del risultato di un comando MCI ogni volta che tale comando specifica il flag "notify" (MCI_NOTIFY). Il messaggio MM_MCISIGNAL è specifico per i dispositivi digital-video; notifica all'applicazione quando viene raggiunta una posizione specificata.