ファイルを開く/閉じる

読み取りまたは書き込み前に、アプリケーションで AVI ファイルを開く必要があります。 AVI ファイルを開くには、 AVIFileOpen 関数を使用します。 AVIFileOpen は、開いているファイルのハンドルを含む AVI ファイル インターフェイスのアドレスを返し、ファイルの参照カウントをインクリメントします。

AVIFileOpen 関数は、OpenFile 関数で使用される OF フラグをサポートしています。 アプリケーションが既存のファイルに書き込む場合は、 AVIFileOpen に OF_WRITE フラグを含める必要があります。 同様に、アプリケーションで新しいファイルを作成して書き込む場合は、 AVIFileOpen にOF_CREATEフラグとOF_WRITE フラグを含める必要があります。

AVIFileOpen を使用してファイルを開く場合は、既定のファイル ハンドラーを使用するか、ファイルとそのデータ ストリームの読み取りと書き込みを行うカスタム ファイル ハンドラーを指定できます。 どちらの場合も、AVIFile はレジストリで使用する正しいファイル ハンドラーを検索します。 アプリケーションがアクセスする前に、カスタム ファイル ハンドラーがレジストリにあることを確認する必要があります。

AVIFileAddRef 関数を使用すると、ファイルの参照カウントをインクリメントできます。 たとえば、ファイル インターフェイスのハンドルを別のアプリケーションに渡すときや、通常はファイルを閉じる関数の使用中にファイルを開いたままにする場合に、これを行うことができます。

ファイルを閉じるには、 AVIFileRelease 関数を使用します。 AVIFileRelease 関数は、AVI ファイルの参照カウントをデクリメントし、ファイルに加えられた変更を保存し、参照カウントが 0 に達するとファイルを閉じます。 アプリケーションでは、AVIFileOpenAVIFileAddRef を使用するたびに AVIFileRelease の呼び出しを含めることで、参照カウントのバランスを取る必要があります。

注意

アプリケーションは、1 つ以上のプログラム スレッドを含むファイルを開くことができます。 ただし、可能な限り最高のパフォーマンスを得るには、一度に 1 つのスレッドのみがファイルにアクセスする必要があります。