Apertura e chiusura di file

Un'applicazione deve aprire un file AVI prima di leggere o scrivere. Per aprire un file AVI, usare la funzione AVIFileOpen . AVIFileOpen restituisce l'indirizzo di un'interfaccia file AVI che contiene l'handle del file aperto e incrementa il numero di riferimenti del file.

La funzione AVIFileOpen supporta i flag OF usati con la funzione OpenFile . Se un'applicazione scrive in un file esistente, deve includere il flag OF_WRITE in AVIFileOpen. Analogamente, se l'applicazione crea e scrive in un nuovo file, è necessario includere i flag di OF_CREATE e OF_WRITE in AVIFileOpen.

Quando si apre un file usando AVIFileOpen, è possibile usare un gestore file predefinito oppure specificare un gestore file personalizzato per leggere e scrivere nel file e nei relativi flussi di dati. In entrambi i casi, AVIFile cerca il Registro di sistema per il gestore di file corretto da usare. È necessario assicurarsi che i gestori di file personalizzati si trovino nel Registro di sistema prima che un'applicazione possa accedervi.

È possibile incrementare il numero di riferimenti di un file usando la funzione AVIFileAddRef . Ad esempio, è possibile eseguire questa operazione quando si passa un handle dell'interfaccia file a un'altra applicazione o quando si vuole mantenere aperto un file usando una funzione che normalmente chiude il file.

È possibile chiudere un file usando la funzione AVIFileRelease . La funzione AVIFileRelease decrementa il conteggio dei riferimenti di un file AVI, salva le modifiche apportate al file e quando il numero di riferimenti raggiunge zero, chiude il file. Le applicazioni devono bilanciare il conteggio dei riferimenti includendo una chiamata a AVIFileRelease per ogni uso di AVIFileOpen e AVIFileAddRef.

Nota

Un'applicazione può aprire un file con uno o più thread di programma. Tuttavia, per ottenere prestazioni ottimali, un solo thread deve accedere al file in qualsiasi momento.