The Microsoft® Information Delivery API enables you to create subscriptions and add channels that can be used to deliver content to a user's computer. This section is an overview of the services provided by the Information Delivery API.
The following topics are covered in this article.
The Microsoft Information Delivery API provides a channel manager and subscription manager to manage channels and subscriptions.
The channel manager is used to add and delete Active Channels and channel categories from the channel pane. The channel manager can also retrieve an enumerator that can be used to enumerate all of the current Active Channels. The channel manager does not create a subscription to an Active Channel. To create a subscription to an Active Channel, the client application must access the subscription manager.
The subscription manager provides the ability to create and delete subscriptions to Web sites and Active Channels. The subscription manager also provides the ability to start an update for a specified subscription or all subscriptions.
To use the channel manager, the Chanmgr.h header file must be included. Also, the Subsmgr.h header file must be included for any C/C++ programs that utilize the subscription manager.
This documentation assumes that the reader has an understanding of OLE/COM programming and a basic understanding of Active Desktop and other features of Microsoft Internet Explorer 4.0.
The channel manager allows a client application to add and delete categories and Active Channels in the desktop channel bar. The channel manager can also provide an enumerator that will allow a client application to enumerate all of the Active Channels. The channel manager does not create a subscription to the Active channel. To subscribe to an Active Channel, the subscription manager must be used.
The subscription manager gives a client application the ability to create, update, and delete subscriptions to Web sites and channels. The subscription manager also provides the ability to get information about a subscription type and information on a specific subscription.
Currently, the Information Delivery API does not provide a programmatic way of checking the last time a file has been updated. If the file is stored in the Internet cache or in a cache container, the Win32 Internet function, GetUrlCacheEntryInfoEx, can be used to retrieve information on the cache entry. This information includes:
For more information on the retrieving cache entry information, see Retrieving cache entry information in the Microsoft Win32 Internet Function Overview. The article demonstrates the use of the GetUrlCacheEntryInfo function, which is almost identical to GetUrlCacheEntryInfoEx, except GetUrlCacheEntryInfo does not translate through the offline redirects.
The Information Delivery API does not provide any programmatic way to refresh the channel pane. To refresh the channel pane, the client application needs to use the SHChangeNotify function with the full path of the channel shortcut.
The following sample demonstrates a call to SHChangeNotify to refresh the channel pane to show changes to the Awesome Computers channel.
SHChangeNotify(SHCNE_UPDATEDIR, SHCNF_PATH, (void*)"c:\windows\favorites\channels\awesome_computer", NULL);