The question is similar to How do I read a disk directly with .Net?, except that the drive that requires direct access is a CD-ROM or DVD-ROM drive. These drives are not including as a physical drive and cannot be accessed using the DeviceStream class or CreateFile Win32 API method as cited in the topic above.
The Windows kernel automatically creates the internal device markers for various attached block devices. The first CD-ROM drive appears as \Device\CdRom0, though attempting to open this via CreateFile() will fail (apparently per http://support.microsoft.com/kb/235128).
Considering unmanaged applications can access these block devices natively (any CD-burning software, DD for Windows, Cygwin [via /dev/scdN]), is there a programmatic method available to access these block devices (preferably usable by .NET)?