none
IMAPI2でCDのセッション数を取得する方法 RRS feed

  • 質問

  • IMAPI2を使用して、マルチセッションCD中の書き込み済セッション数を取得するには、どうすればよいのでしょうか?

    コードサンプルを教えていただければ大変助かります。

    よろしくお願いいたします。

    2010年9月14日 12:33

回答

  • 以下の流れでどうでしょうか。

     

      1.CoCreateInstanceでIDiscMaster2 Instanceを作成する

      2.IDiscMaster2::get_Itemで該当するDisc DeviceのUnique IDを取得する

      3.CoCreateInstanceでIDiscRecorder2 Instanceを作成する

      4.IDiscRecorder2::InitializeDiscRecorderにUnique IDを渡してDisc Deviceを関連付ける

      5.IDiscRecorder2::QueryInterfaceでIDiscRecorder2Ex Interfaceを取得する

      6.IDiscRecorder2Ex::GetDiscInformationでREAD DISC INFORMATIONを取得する

      7.READ DISC INFORMATIONの以下の情報からSession数を求める

        ・Number of Sessions(LSB)   

        ・Number of Sessions(MSB)

      8.READ DISC INFORMATIONの以下の情報からSession数を調整する

        ・Status of Last Session

        ・Disc Status

        この処理は実際に以下のケースを検証してみて、必要かどうか判断してください。

        ・Empty Session(Empty Disc/Blank Media)

        ・Incomplete Session(Incomplete Disc)

        ・Complete Session(Complete Disc)

        例えば、Blank Mediaの場合、7.のSession数が1になるかもしれません。

        この場合、書き込み済みのSessionは存在しないため、

        Session数を0として扱うなど、調整が必要になりますね。

     

    READ DISC INFORMATIONの詳細は、

    T10のMMC(Multi Media Commands)の仕様書を確認してください。

     

    [T10]

      http://www.t10.org/

      ※Documentをdownloadするには、情報の登録が必要です。

     

     

    CDであれば、IMAPI version 1.0の方が楽ですね。

    • 回答としてマーク 山本春海 2010年10月8日 5:17
    2010年9月18日 0:59

すべての返信

  • 以下の流れでどうでしょうか。

     

      1.CoCreateInstanceでIDiscMaster2 Instanceを作成する

      2.IDiscMaster2::get_Itemで該当するDisc DeviceのUnique IDを取得する

      3.CoCreateInstanceでIDiscRecorder2 Instanceを作成する

      4.IDiscRecorder2::InitializeDiscRecorderにUnique IDを渡してDisc Deviceを関連付ける

      5.IDiscRecorder2::QueryInterfaceでIDiscRecorder2Ex Interfaceを取得する

      6.IDiscRecorder2Ex::GetDiscInformationでREAD DISC INFORMATIONを取得する

      7.READ DISC INFORMATIONの以下の情報からSession数を求める

        ・Number of Sessions(LSB)   

        ・Number of Sessions(MSB)

      8.READ DISC INFORMATIONの以下の情報からSession数を調整する

        ・Status of Last Session

        ・Disc Status

        この処理は実際に以下のケースを検証してみて、必要かどうか判断してください。

        ・Empty Session(Empty Disc/Blank Media)

        ・Incomplete Session(Incomplete Disc)

        ・Complete Session(Complete Disc)

        例えば、Blank Mediaの場合、7.のSession数が1になるかもしれません。

        この場合、書き込み済みのSessionは存在しないため、

        Session数を0として扱うなど、調整が必要になりますね。

     

    READ DISC INFORMATIONの詳細は、

    T10のMMC(Multi Media Commands)の仕様書を確認してください。

     

    [T10]

      http://www.t10.org/

      ※Documentをdownloadするには、情報の登録が必要です。

     

     

    CDであれば、IMAPI version 1.0の方が楽ですね。

    • 回答としてマーク 山本春海 2010年10月8日 5:17
    2010年9月18日 0:59
  • 情報いただきありがとうございます。また、お返事遅くなり申し訳ありません。

    いただいた情報を元に試してみたいと思います。

     

    2010年9月27日 0:53