Use .NET to Access the iPod’s Database

Code applications in Visual Studio to access your iPod’s database using .NET.

When you install the iPod software for Windows, a file called ipodservice.exe is installed. This runs constantly in the background, checking to see if an iPod has been plugged in. If it has, the .exe launches iTunes, ready to update all your music. Needless to say, if you don’t have this .exe running, these useful features will not work.

However, this file is interesting for another reason. Through the wonders of Microsoft’s Component Object Model (COM), a fairly substantial application programming interface (API) is exposed for performing numerous operations on the iPod.

As this is presumably the Apple-sanctioned way of accessing the iPod, rather than accessing it simply as a FireWire drive, taking a peek at the API exposed by ipodservice.exe should be easy—and it is!

Using the Object Browser in Visual Studio to investigate the API further, it turns out you can do almost anything you want with your iPod, ranging from simple tasks such as these:

  • Mounting and unmounting the iPod

  • Getting the Windows drive letter

  • Getting the iPod’s name (for example, “Owen’s iPod”) to advanced features such as these:

  • Formatting the iPod’s hard disk

  • Writing to individual sectors on the hard disk

  • Writing files to the hard disk

Getting Started with Visual Studio

Although theoretically, you can just ...

Get iPod and iTunes Hacks now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.