質問は、 How do I read a disk directly with .Net? に似ています。ただし、直接アクセスが必要なドライブは CD-ROM または DVD-ROM ドライブです。これらのドライブは物理ドライブとして含まれておらず、上記のトピックで引用されているように、 DeviceStreamクラスまたはCreateFile Win32 API メソッドを使用してアクセスすることはできません。
Windows カーネルは、接続されているさまざまなブロック デバイスの内部デバイス マーカーを自動的に作成します。最初の CD-ROM ドライブは\Device\CdRom0として表示されますが、これをCreateFile()経由で開こうとすると失敗します (明らかにhttp://support.microsoft.com/kb/235128によると)。
管理されていないアプリケーションがこれらのブロック デバイスにネイティブにアクセスできることを考慮すると (任意の CD 書き込みソフトウェア、Windows 用の DD、Cygwin [/dev/scdN 経由])、これらのブロック デバイスにアクセスするためのプログラムによる方法はありますか (できれば .NET で使用可能)?