Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6963859
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T15:50:58+00:00 2026-05-27T15:50:58+00:00

This came up from my other question about IMAPI2 is it possible to identify

  • 0

This came up from my other question about IMAPI2 is it possible to identify if a DVD/CD drive is virtual and not physical?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T15:50:58+00:00Added an answer on May 27, 2026 at 3:50 pm

    The purpose of a virtual drive is to act exactly as its physical counterpart, just without the physical media. Both kinds of drives work with the operating system in the same manner as a device driver. I highly doubt the difference between them would be visible within the Win32 API. That would be counter-intuitive to the virtual drive’s purpose.

    I looked at the information provided by WMI (which is accessible in C#) and found something of interest. The device id of my virtual drive began with ‘SCSI’ whereas the device id of my physical SATA drive began with ‘IDE’. I believe most of (all of?) virtual drive software emulates a SCSI drive; I’m not sure. Typically, a user would have either an IDE or SATA optical drive which would both have an id beginning with ‘IDE’.

    Virtual Drive Device: "SCSI\CDROM&VEN_ELBY&PROD_CLONEDRIVE&REV_1.4\1&00000000&0&000000"
    Real Drive Device: "IDE\CDROMASUS_DRW-24B1ST_________________________1.03____\5&295AF142&0&5.0.0"
    

    Notice in my example device ids that the virtual drive is clearly identified as the Clone Drive software. You could check the manufacturer and product name against a known list of virtual drive software. This might yield a lot of false negatives and be very hard to maintain.

    Either way, I am not confident that searching for features in the device id would be a highly reliable solution. There might be virtual drives which identify themselves differently. I only tested Clone Drive and Daemon Tools in researching your question.

    If you were to use this approach for copyright protection (what else would you use it for?) then you have to consider if the chance of a false virtual drive determination is worth angering your customers.

    Here is the C# code for inspecting the drives using WMI and accessing the device id. You will need to reference the System.Management assembly.

    string driveLetter = "F";
    ManagementObjectSearcher diskQuery = new ManagementObjectSearcher(String.Format("SELECT * FROM Win32_CDROMDrive WHERE Drive='{0}:'", driveLetter));
    ManagementObject diskResult = diskQuery.Get().OfType<ManagementObject>().SingleOrDefault();
    string deviceID = null;
    if (diskResult != null)
        deviceID = (string)diskResult["DeviceID"];
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

let me tell you a bit about where this question came from. I have
This came up from this answer to a previous question of mine . Is
After some stupid musings about Klingon languages, that came from this post I began
There's this already populated database which came from another dev. I'm not sure what
While browsing I came across this blog post about using the Wikipedia API from
This question came about as a result of some mixed-language programming. I had a
I just came across this question about initializing local variables. Many of the answers
Just when I was about to post this question, I came up with an
My original question I've managed to answer by cobbling other answers together from this
I have some data, yes, data. This data came from a MySQL query and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.