getCDDBId in Win giving some problems


#1

getCDDBId() on Win platform works fine, only if we login with admin right…
but if we login in non-admin rights… it returns 0.

But if we launch ITunes or windows media player it shows the track names.

Is there any platform specific code that requires admin rights… if yes then is there any equivalent call in non-admin mode…
The way I am using it is:

juce::StringArray availableAudioDrives = juce::AudioCDReader::getAvailableCDNames();
	int numOfDrives = availableAudioDrives.size();

	int disc = discID.getHexValue32(); 	
	for(int i=0; i<numOfDrives; i++)
	{	
		cdReader = juce::AudioCDReader::createReaderForCD(i);		
		if(cdReader != NULL)
		{
			int cdID = cdReader->getCDDBId();
			
			if(cdID == disc)
				break ;
		}
	}

Thanks in advance


#2

Bizarre… I guess it’s because it uses direct scsi commands to access the disk, and there must be a permissions problem with it. I’ll have to step through and see where it’s failing; if the other apps can do it then there must be a trick.


#3

Just had a go of this and you’re right, it won’t work without admin permissions, it seems.

The problem is that it isn’t allowed to open the device with write access, and without that none of the device control functions work… I tried a few things but couldn’t figure out a way to get around this, and couldn’t find anything online that mentions it… I’m stumped - any ideas welcome!


#4