Ouverture et fermeture de fichiers

Une application doit ouvrir un fichier AVI avant la lecture ou l’écriture. Pour ouvrir un fichier AVI, utilisez la fonction AVIFileOpen . AVIFileOpen retourne l’adresse d’une interface de fichier AVI qui contient le handle du fichier ouvert et incrémente le décompte de références du fichier.

La fonction AVIFileOpen prend en charge le d’indicateurs utilisés avec la fonction OpenFile . Si une application écrit dans un fichier existant, elle doit inclure l' _ indicateur d’écriture dans AVIFileOpen. De même, si votre application crée et écrit dans un nouveau fichier, vous devez inclure le de _ Create et des _ indicateurs d’écriture dans AVIFileOpen.

Lorsque vous ouvrez un fichier à l’aide de AVIFileOpen, vous pouvez utiliser un gestionnaire de fichiers par défaut ou vous pouvez spécifier un gestionnaire de fichiers personnalisé pour lire et écrire dans le fichier et ses flux de données. Dans les deux cas, AVIFile recherche le gestionnaire de fichiers correct à utiliser dans le registre. Vous devez vous assurer que les gestionnaires de fichiers personnalisés se trouvent dans le registre avant qu’une application puisse y accéder.

Vous pouvez incrémenter le décompte de références d’un fichier à l’aide de la fonction AVIFileAddRef . Par exemple, vous souhaiterez peut-être effectuer cette opération lors du passage d’un handle de l’interface de fichier à une autre application, ou lorsque vous souhaitez conserver un fichier ouvert lors de l’utilisation d’une fonction qui fermerait normalement le fichier.

Vous pouvez fermer un fichier à l’aide de la fonction AVIFileRelease . La fonction AVIFileRelease décrémente le décompte de références d’un fichier AVI, enregistre les modifications apportées au fichier et, lorsque le nombre de références atteint zéro, ferme le fichier. Vos applications doivent équilibrer le nombre de références en incluant un appel à AVIFileRelease pour chaque utilisation de AVIFileOpen et AVIFileAddRef.

Notes

Une application peut ouvrir un fichier avec un ou plusieurs threads de programme. Toutefois, pour des performances optimales, un seul thread doit accéder au fichier à un moment donné.