Condividi tramite


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:

  1. Impostare il membro pIOProc su NULL.
  2. Impostare il membro fccIOProc su FOURCC_MEM.
  3. 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.
  4. Impostare il membro cchBuffer sulle dimensioni iniziali del blocco di memoria.
  5. Impostare il membro adwInfo sulla dimensione minima di espansione del blocco di memoria. Per un file di memoria non esplorabile, impostare adwInfo su NULL.
  6. Impostare tutti gli altri membri su zero.

Non esistono restrizioni per l'allocazione della memoria da usare come file di memoria non esplorabile.