How can I get the supported media of an empty drive?

vbimport

#1

How can I get the capabilities (supported write disc types) of a drive WITHOUT having to insert a disc.

As far as I know, the MediaSupport property of a NeroDrive object cannot be used, since it depends on the inserted disc. (It is 0 when no disc is inserted.)
Another method would be to see if the AvailableSpeeds property returns anything, but this also works ONLY when there is a medium inserted in the drive.

I want to be able to determine which type of media a drive supports BEFORE even when nothing is inserted.

Thanks for helping,

Pamano


#2

You are incorrect - the mediasupport property can be used without a disc inserted as can the availablespeeds.

Mike


#3

pamano,

do you know how to interpret the return value from:

“drives(myindex).Capabilities”, and
“drives(myindex).MediaSupport”

I get the following interger values returned:

Lite-On LTN483S 48x Max Capabilities = 389
Lite-On LTN483S 48x Max Media Support = 0
CDWRITER IDE5232 Capabilities = 1055
CDWRITER IDE5232 Media Support = 32833
Image Recorder Capabilities = 16467
Image Recorder Media Support = 131101

-grs


#4

They are of NERO_CAPABILITIES and NERO_MEDIA_TYPE type, respectively.


#5

Alex,
I wished this helped me, but it doesn’t. I don’t know how to get the enumerations out of the return value which seems to be integer. Any examples?

George.


#6

Well, it’s rather simple. Both NERO_CAPABILITIES and NERO_MEDIA_TYPE define a set of bits. Now, MediaSupport property indeed returns a long, but it should be interpreted as a combination of NERO_MEDIA_TYPE flags. Same for Capabilities property.

So, for instance… Lite-On LTN483S 48x Max Capabilities = 389 means NERO_CAP_IDE_BUS + NERO_CAP_UNDETECTED + NERO_CAP_READ_CD_TEXT + NERO_CAP_ALLOWED.

CDWRITER IDE5232 Media Support = 32833 means NERO_MEDIA_FPACKET + NERO_MEDIA_MRW + NERO_MEDIA_CD.

Now, how you do this programmatically really depends on the language used. Generally, you should AND the value with each of the flags. A non-zero results tells you that the flag is set.


#7

Almost there… can you give me the reference for the values of each of these flags? There seem to be 12 enumerations (bits?) for NERO_CAPABILITIES, and 27 for NERO_MEDI_TYPE. if you know:

Lite-On LTN483S 48x Max Capabilities = 389 = 110000101 (binary), is:
NERO_CAP_IDE_BUS = bit0,
NERO_CAP_UNDETECTED = bit2,
NERO_CAP_READ_CD_TEXT = bit7,
NERO_CAP_ALLOWED = bit8?

if so, can you tell me where I can find a document that provides reference for all these flags?


#8

It really depends on the environment you are using. In VB6 and VS.NET there is an Object Browser. You can also use OLE View to view the contents of the NeroCOM type library. Ultimately, you can browse through NeroCOM documentation in the NeroSDK.