Exécution des e/s de fichier de mémoire
Les services d’e/s de fichier multimédia vous permettent de traiter un bloc de mémoire comme un fichier. Cela peut être utile si vous avez déjà une image de fichier en mémoire. Les fichiers mémoire vous permettent de réduire le nombre de conditions de cas spéciaux dans votre code, car, à des fins d’e/s, vous pouvez traiter les fichiers de mémoire comme s’il s’agissait de fichiers sur disque. Vous pouvez également utiliser des fichiers de mémoire avec le presse-papiers.
Comme pour les mémoires tampons d’e/s, les fichiers mémoire peuvent utiliser la mémoire allouée par l’application ou par le gestionnaire d’e/s de fichier. En outre, les fichiers mémoire peuvent être développables ou non développables. Lorsque le gestionnaire d’e/s de fichier atteint la fin d’un fichier mémoire extensible, il étend le fichier de mémoire à un incrément prédéfini.
Pour ouvrir un fichier de mémoire, utilisez la fonction mmioOpen avec le paramètre SzFilename défini sur null et l' _ indicateur MMIO ReadWrite définis dans le paramètre dwOpenFlags . Définissez le paramètre lpmmioinfo pour qu’il pointe vers une structure MMIOINFO qui a été configurée comme suit :
- Affectez la valeur null au membre pIOProc .
- Définissez le membre fccIOProc sur FourCC _ MEM.
- Définissez le membre pchBuffer pour qu’il pointe vers le bloc de mémoire. Pour demander que le gestionnaire d’e/s de fichier alloue le bloc de mémoire, affectez à pchBuffer la valeur null.
- Définissez le membre cchBuffer sur la taille initiale du bloc de mémoire.
- Définissez le membre adwInfo sur la taille d’expansion minimale du bloc de mémoire. Pour un fichier de mémoire non développable, affectez à adwInfo la valeur null.
- Affectez la valeur zéro à tous les autres membres.
Il n’existe aucune restriction quant à l’allocation de mémoire pour une utilisation en tant que fichier mémoire non développable.