IDiscMaster::RecordDiscのIMAPI_E_WRONGDISC について

解決


うみ  2005-07-27 23:09:11  No: 58472

いつもお世話になっております。

現在、IMAPIでCD-Rライティングソフトを作成していますが、
RecordDiscにおいてIMAPI_E_WRONGDISCというエラーが発生してしまいます。
ヘルプを見てみたのですが、いまいち的を得ることができませんでした。

私の作成中のアプリケーションでは、一度そのアプリケーションでCD-R書き込みを行います、終わったあとにCD-Rドライブがイジェクトするので再びふたを閉じてすぐにもう一度このアプリケーションを起動して、CD-R書き込みを行おうとすると、このエラーが発生します。
SetActiveDiscRecorder( discrecorder )がS_OKになるまで、待機するようなソースにしているのですが、他に何か待たなければいけないものがあるのでしょうか?
初回で最初からCD-Rが入っている状態で、私のアプリケーションを起動する場合は問題なく動作します。

このエラーの発生原因および、対策方法をご存知の方いらっしゃいましたらご教授お願いします。


うみ  2005-07-27 23:43:21  No: 58473

申し訳ありません。

OSはWindowsXP
VC7++.0似て開発を行っています


シャノン  2005-07-30 14:45:51  No: 58474

んーと?

IDiscMaster::SetActiveDiscRecorder より

Selecting a recorder while in an active Joliet format will cause IMAPI to read information from the currently installed recorder disc. If this disc is a previous IMAPI Joliet disc and has space for another session, IMAPI automatically sets itself to multi-session mode. This disc must be in the active recorder when RecordDisc is called.

・SetActiveRecorder を呼び出したとき、既にレコーダにディスクが入っており、それが以前 IMAPI で焼かれたものであるならば、IMAPI は自動的にマルチセッションモードになる。
このディスクは、RecorderDisc が呼ばれるとき、アクティブなレコーダに無ければならない。

んで、IDiscMaster::RecordDisc より

IMAPI_E_WRONGDISC
    The call failed because when the active recorder was selected, a previous IMAPI disc was detected and a multi-session session was established. RecordDisc has detected that this disc is no longer in the active recorder.

・アクティブレコーダが選択されたとき、マルチセッションが検出されたが、RecordDisc は既にそのディスクがアクティブレコーダに無いことを知ったので失敗した。

みたいな解釈でいいのかしら?
英語は苦手なのよん。


うみ  2005-08-17 23:10:33  No: 58475

ご返信ありがとうございます。
遅れて申し訳ありません。

GetRecorderStateを使用して待機したところこの問題は
緩和しました。
わざわざ訳していただき本当に感謝いたします。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加