- 締切済み
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指定で出来ない原因が知りたいのですが、どなたか教えていただけませんか? よろしくお願い致します。 ※ソースコード中で使用している変数等はちゃんと宣言してあります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mtaka2
- ベストアンサー率73% (867/1179)
回答No.1
挙げられたコードは問題なさそうですが… 一番あやしいのは、「FileName が正しく設定されているか」どうかでしょうか。 ゴミな文字が付いてたりしてるとかで、拡張子 AVI な文字列じゃなくなっていたら、第4引数がNULLの時には失敗すると思います。 それと、これはたぶん関係ないと思いますが、 pAviF を初期化していなかったら、 NULL に初期化してみるとか?
お礼
お世話になっています。 デバックモードで確認してみます。 pAviFについても初期化していなかったので、初期化して確認してみます。