How to distinguish between Virtual CD-ROM and Physical CD-ROM?

I want to write a program to distinguish between Virtual CD-ROM and Physical CD-ROM using C++. As far as I know, the vendor name of virtual CD-ROM can be changed easily, so it is not the right way. Is there anyone who can give me some suggestions? Thanks very much!