You may want your application to recognized when the user makes changes to the library description, adds or removes folders from the library, or updates any of the files included in the library. There are several ways to “stay in sync,” depending on your application’s requirements. Most applications should use the Shell programming model with SHChangeNotifyRegister for all non-service processes. To detect changes in items within a library using the Shell programming model, use the SHChangeNotifyRegister to listen for changes to items in all library folders. SHChangeNotifyRegister can take a single library item, for example the Music library, as a parameter to receive notifications on all content included in the library. It will note ANY status change in any of the items in the Music library.
More info: Windows Blog