• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IOCTL_CDROM_RAW_RAEDで生データが読めない)

IOCTL_CDROM_RAW_RAEDでCDDAの生データが読み取れない

このQ&Aのポイント
  • IOCTL_CDROM_RAW_RAEDを使ってCDDAの生データを読み取るプログラムを作成したが、エラー87「パラメータが間違っています」という問題が発生し、データを読み取ることができない。
  • 海外のサイトで同様の問題について検索したが、オーディオCD(CDDA)では問題なく動作するが、CD-ROMでは問題が発生するという情報が得られた。
  • 開発環境はBorland C++Builder6で、ウィンドウズアプリとして開発している。IOCTL_CDROM_READ_TOCを用いたTOCの読み取りは正常に動作しており、ファイルのオープンも正しく行えている。

質問者が選んだベストアンサー

  • ベストアンサー
  • mcWalker
  • ベストアンサー率69% (27/39)
回答No.1

もう解決済みかもしれませんが、レスがないようなのでご参考まで。 ...RAW_READ ではありませんが、私も IOCTL_CDROM_GET_DRIVE_GEOMETRY がうまく行かず、聞きましたら 9x では、ASPI, NT(xp) では、SPTI で scsi へ access した方がいいのではないかと教えてもらいました。 私は、2048 bytes 読めればよいので、16 sector を (xpでは) ReadFile() で読むことで geometry を得て 今のところ済ませています。 http://www.t10.org/ftp/t10/drafts/sbc2/sbc2r15.pdf に ANSI の説明書があります。 ご覧になったらどうでしょうか。 また、これに従うには、nt4ddk が必要ですが、 お持ちでないなら、microsoft から nt4ddk.zip を落としてきて 中から header file を取り出す必要があります。 cdda を扱っている例は、spticdda.lzh でぐぐると ソースがあります。

関連するQ&A