Funzione di callback MMIOPROC (mmiscapi.h)
La funzione MMIOProc è una procedura di input/output personalizzata installata dalla funzione mmioInstallIOProc. MMIOProc è un segnaposto per il nome della funzione definita dall'applicazione. L'indirizzo di questa funzione può essere specificato nel parametro callback-address di mmioInstallIOProc.
Sintassi
MMIOPROC Mmioproc;
LRESULT Mmioproc(
LPSTR lpmmioinfo,
UINT uMsg,
LPARAM lParam1,
LPARAM lParam2
)
{...}
Parametri
lpmmioinfo
Punta a una struttura MMIOINFO contenente informazioni sul file aperto.
La procedura di I/O deve mantenere il membro lDiskOffset in questa struttura per indicare l'offset del file al percorso di lettura o scrittura successivo. La procedura di I/O può usare il membro adwInfo[] per archiviare le informazioni sullo stato. La procedura di I/O non deve modificare altri membri della struttura MMIOINFO .
uMsg
Specifica un messaggio che indica l'operazione di I/O richiesta. I messaggi che possono essere ricevuti includono MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ,MMIOM_SEEK, MMIOM_WRITE e MMIOM_WRITEFLUSH.
lParam1
Specifica un parametro definito dall'applicazione per il messaggio.
lParam2
Specifica un parametro definito dall'applicazione per il messaggio.
Valore restituito
Il valore restituito dipende dal messaggio specificato da uMsg. Se la procedura di I/O non riconosce un messaggio, deve restituire zero.
Commenti
Il codice a quattro caratteri specificato dal membro fccMMIOProc nella struttura MMIOINFO associata a un file identifica un'estensione del nome file per un sistema di archiviazione personalizzato. Quando un'applicazione chiama mmioOpen con un nome di file, ad esempio "one.xyz+two", la procedura di I/O associata al codice a quattro caratteri "XYZ" viene chiamata per aprire l'elemento "due" del file "one.xyz".
La funzione mmioInstallIOProc gestisce un elenco separato di procedure di I/O installate per ogni applicazione basata su Windows. Pertanto, diverse applicazioni possono usare lo stesso identificatore di procedura di I/O per procedure di I/O diverse senza conflitti. Tuttavia, l'installazione di una procedura di I/O a livello globale consente a qualsiasi processo di usare la procedura.
Se un'applicazione chiama mmioInstallIOProc più volte per registrare la stessa procedura di I/O, deve chiamare mmioInstallIOProc per rimuovere la procedura una volta per ogni volta che ha installato la procedura.
mmioInstallIOProc non impedirà a un'applicazione di installare due procedure di I/O diverse con lo stesso identificatore o di installare una procedura di I/O con uno degli identificatori predefiniti ("DOS ", "MEM"). La procedura installata più di recente ha la precedenza e la procedura installata più di recente è la prima da rimuovere.
Quando si cerca una procedura di I/O specificata, le procedure locali vengono eseguite prima di tutto, quindi le procedure globali.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | mmiscapi.h (includono Mmiscapi.h, Windows.h) |