Jump to content

SPTI IOCTL_SCSI_PASS_THROUGH - Make,Model,Date,Firmware,SerialNumber


Recommended Posts

Posted

I need to query all DVD drives and get Make,Model, Firmware, Date, Serialnumber.

I know the data is there, because my C++/C# code (Windows) can display the bytes with the 5 values. But I have to make two different calls using different CDB Settings.

I used 0x12 Inquiry Command. For Vendor, Product, Firmware, and Date.

Then I use: (For Serial Number) (2nd Call)

sptwb.spt.Cdb[0] = 0x46;              // GET CONFIGURATION opcode
sptwb.spt.Cdb[2] = 0x01;              // Feature Code MSB: 0108h
sptwb.spt.Cdb[3] = 0x08;              // Feature Code LSB: 0108h
sptwb.spt.Cdb[8] = 128;               // Allocation length

I get the raw bytes, still not sure how the bytes are formatted yet, but data is there.

Question:

Do I have to make two calls to DeviceIoControl using SPTI?

Maybe there is a better way to ask the drive for Vendor, Product, Firmware, Date , Serial Number

I have an sql database, I would like to store this data in for each drive. Those 5 values are most important for now. I would later like to dig up all the configuration data once I get my head wrapped around the calls.

Would appreciate any advice from those who know.

Thanks, Russ

Posted

Drives are built around the mmc specs. That’s how you communicate with them. 
 

There might be a higher level call you can make that either uses cached data from the OS or issues the two calls in the background on your behalf, I’ve no idea about that though as I work with the actual mmc commands. 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.