Esecuzione di I/O file di memoria
I servizi di I/O multimediali consentono di trattare un blocco di memoria come file. Questo può essere utile se si dispone già di un'immagine di file in memoria. I file di memoria consentono di ridurre il numero di condizioni speciali nel codice perché, a scopo di I/O, è possibile trattare i file di memoria come se fossero file basati su disco. È anche possibile usare i file di memoria con gli Appunti.
Come per i buffer di I/O, i file di memoria possono usare la memoria allocata dall'applicazione o dalla gestione I/O del file. Inoltre, i file di memoria possono essere espandibili o non mobili. Quando il file I/O manager raggiunge la fine di un file di memoria espandibile, espande il file di memoria in base a un incremento predefinito.
Per aprire un file di memoria, usare la funzione mmioOpen con il parametro szFilename impostato su NULL e il flag MMIO_READWRITE impostato nel parametro dwOpenFlags . Impostare il parametro lpmmioinfo per puntare a una struttura MMIOINFO configurata come indicato di seguito:
- Impostare il membro pIOProc su NULL.
- Impostare il membro fccIOProc su FOURCC_MEM.
- Impostare il membro pchBuffer su come puntare al blocco di memoria. Per richiedere che la gestione I/O del file alloca il blocco di memoria, impostare pchBuffer su NULL.
- Impostare il membro cchBuffer sulle dimensioni iniziali del blocco di memoria.
- Impostare il membro adwInfo sulla dimensione minima di espansione del blocco di memoria. Per un file di memoria non esplorabile, impostare adwInfo su NULL.
- Impostare tutti gli altri membri su zero.
Non esistono restrizioni per l'allocazione della memoria da usare come file di memoria non esplorabile.