次の方法で共有


AVIFileOpen 関数 (vfw.h)

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

構文

HRESULT AVIFileOpen(
  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 で指定されたファイルの種類には、それを処理するハンドラーがありません。

要件

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

関連項目

AVIFile 関数

AVIFile 関数とマクロ

AVIFileRelease