AVIFileOpenA 関数 (vfw.h)

AVIFileOpen 関数は、AVI ファイルを開き、アクセスに使用するファイル インターフェイスのアドレスを返します。 AVIFile ライブラリは、ファイルが開かれた回数のカウントを保持しますが、リリースされた回数は保持しません。 AVIFileRelease 関数を使用してファイルを解放し、カウントを減らします。

構文

HRESULT AVIFileOpenA(
  PAVIFILE *ppfile,
  LPCSTR   szFile,
  UINT     uMode,
  LPCLSID  lpHandler
);

パラメーター

ppfile

新しい IAVIFile インターフェイス ポインターを受け取るバッファーへのポインター。

szFile

開くファイルの名前を含む Null で終わる文字列。

uMode

ファイルを開くときに使用するアクセス モード。 既定のアクセス モードはOF_READです。 AVIFileOpen では、次のアクセス モードを指定できます。

意味
OF_CREATE 新しいファイルを 1 つ作成します。 ファイルが既に存在する場合は、長さが 0 に切り捨てられます。
OF_PARSE インデックスの作成など、時間のかかる操作をスキップします。 このフラグは、可能な限り迅速に関数を返す場合に設定します。たとえば、ファイル プロパティに対してクエリを実行するが、ファイルを読み取らない場合などです。
OF_READ 読み取り用にファイルを開きます。
OF_READWRITE 読み取りと書き込みのためにファイルを開きます。
OF_SHARE_DENY_NONE ファイルを最終的に開かないで開きます。 他のプロセスでは、読み取りまたは書き込みアクセス権を持つファイルを開くことができます。 別のプロセスが互換モードでファイルを開いた場合、AVIFileOpen は失敗します。
OF_SHARE_DENY_READ ファイルを最終的に開かないで開きます。 他のプロセスでは、書き込みアクセス権を持つファイルを開くことができます。 別のプロセスが互換モードでファイルを開いた場合、またはファイルに対する読み取りアクセス権を持っている場合、AVIFileOpen は失敗します。
OF_SHARE_DENY_WRITE ファイルを最終的に開かないで開きます。 他のプロセスでは、読み取りアクセス権を持つファイルを開くことができます。 別のプロセスが互換モードでファイルを開いた場合、またはファイルへの書き込みアクセス権を持っている場合、AVIFileOpen は失敗します。
OF_SHARE_EXCLUSIVE ファイルを開き、そのファイルへのアクセスを他のプロセスで拒否します。 他のプロセスがファイルを開いた場合、AVIFileOpen は失敗します。
OF_WRITE ファイルを書き込み用に開きます。

lpHandler

使用する標準ハンドラーまたはカスタム ハンドラーのクラス識別子へのポインター。 値が NULL の場合、システムは、ファイル拡張子またはファイルで指定された RIFF 型に基づいてレジストリからハンドラーを選択します。

戻り値

成功した場合は 0 を返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。

リターン コード 説明
AVIERR_BADFORMAT
ファイルを読み取れませんでした。ファイルが破損しているか、認識できない形式であることを示しています。
AVIERR_MEMORY
メモリ不足のため、ファイルを開くことができませんでした。
AVIERR_FILEREAD
ファイルの読み取り中にディスク エラーが発生しました。
AVIERR_FILEOPEN
ファイルを開くときにディスク エラーが発生しました。
REGDB_E_CLASSNOTREG
レジストリによると、 AVIFileOpen で指定されたファイルの種類には、それを処理するハンドラーがありません。

注釈

注意

vfw.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして AVIFileOpen を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vfw.h
Library Vfw32.lib
[DLL] Avifil32.dll

こちらもご覧ください

AVIFile 関数

AVIFile 関数とマクロ

AVIFileRelease