DiskArbitration & Finder
DiskArbitration & Finder
- Subject: DiskArbitration & Finder
- From: Stephan Burlot <email@hidden>
- Date: Sat, 2 Dec 2006 23:58:54 +0100
Hi,
I'm playing with DiskArbitration and I am trying to block the
insertion of CD, DVD (and other types of volumes, but it's not
relevant to my question)
I'm sucessful at intercepting the insertion of a CD/DVD and ejecting
it as soon as it is inserted, but, if I leave the CD/DVD prefpane
settings to, let's say, open iTunes when a music CD is inserted,
itunes is launched even if my app ejects the CD. Same thing happens
if I insert a blank CD: the finder asks me what I want to do with it,
while my app is ejecting the CD in the background.
How is it possible to intercept these insertion events, without
changing the CD/DVD prefpane?
my code is as follow:
/* Init */
mySession = DASessionCreate(kCFAllocatorDefault);
DASessionScheduleWithRunLoop(mySession, CFRunLoopGetCurrent(),
kCFRunLoopDefaultMode);
DARegisterDiskAppearedCallback(mySession,
kDADiskDescriptionMatchMediaWhole, diskAppearedCallback, NULL);
DARegisterDiskDisappearedCallback(mySession,
kDADiskDescriptionMatchMediaWhole, diskDisappearedCallback, NULL);
And the diskAppearedCallback is:
static void diskAppearedCallback(DADiskRef disk, void * userInfo)
{
NSLog(@"diskAppearedCallback");
DADiskEject(disk, kDADiskEjectOptionDefault, ejectCallback, userInfo);
}
Thanks for any help,
Stephan Burlot
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden