• 締切済み

AVIFileOpenでのエラー(CLSID)

お世話になっております。 AVIFileOpenを使用して、AVIファイルを新たに作成するプログラムを作成しています。 ここで、現在、AVIFileOpen関数が『REGDB_E_CLASSNOTREG』のエラーを返してしまい、オープンできません。 ------- ソースコード AVIFileInit(); sprintf( FileName, "%s.avi", "C:\\aaa" ); hRes = AVIFileOpen( &pAviF, FileName, OF_CREATE|OF_WRITE, NULL ); if ( hRes != AVIERR_OK ){ AfxMessageBox("Error"); } --------- Webでいろいろ調べて、AVIFileOpenの第4引数に明示的にAVIのCLSIDを指定した場合は正常にできました。 NULL指定で出来ない原因が知りたいのですが、どなたか教えていただけませんか? よろしくお願い致します。 ※ソースコード中で使用している変数等はちゃんと宣言してあります。

みんなの回答

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

挙げられたコードは問題なさそうですが… 一番あやしいのは、「FileName が正しく設定されているか」どうかでしょうか。 ゴミな文字が付いてたりしてるとかで、拡張子 AVI な文字列じゃなくなっていたら、第4引数がNULLの時には失敗すると思います。 それと、これはたぶん関係ないと思いますが、 pAviF を初期化していなかったら、 NULL に初期化してみるとか?

neko1975
質問者

お礼

お世話になっています。 デバックモードで確認してみます。 pAviFについても初期化していなかったので、初期化して確認してみます。

関連するQ&A