A hotfix is available to the Content Directory Service in Windows Media Player Network Sharing Service of Windows 7 or of Windows Server 2008 R2. This hotfix enables the Content Directory Service to publish correct version numbers for all the containers.
Content Directory Service in Windows 7
The Content Directory Service is a UPnP service. When Windows 7 performs as a digital media server (DMS), Windows 7 uses the Content Directory Service to expose a user's media library to the network. Other devices that are connected to the network start actions against the Content Directory Service to retrieve information from the media library.
The Content Directory Service organizes content as items inside a hierarchy of containers. A root container is located at the top of the hierarchy. The root container can contain zero or more child containers. Generally, any container at any level can include additional containers and content items.
Every container in a Content Directory Service hierarchy has an associated version number. This number increases by one every time that something changes inside a container. For example, a device in the network sends a browse or a search action against the Content Directory Service. Then the device obtains a container's version number in the action's response in an argument that is called UpdateID. The root container also has an associated version number. However, the version number of the root container represents the whole hierarchy. If something changes in the Content Directory Service hierarchy, the root version number increases by one.
In addition to the UpdateID argument in browse or in search actions, version numbers are stored optionally in the Content Directory Service state variable that is called ContainerUpdateIDs. ContainerUpdateIDs can only be accessed through events.
As described in the UPnP specifications, the ContainerUpdateIDs state variable carries a list of pairs. The first element in each pair represents a container ID, and the second element describes the container's version number. An implementation of the Content Directory Service generates events that include the ContainerUpdateIDs state variable. Those events are dispatched when changes occur in the Content Directory Service at intervals that are equal to or more than 200 milliseconds (ms).
The Content Directory Service in Windows 7 implements the ContainerUpdateIDs state variable and distributes this variable to any interested receivers in the network through events. The Content Directory Service in Windows 7 correctly publishes the version number of the root container that reflects a recent change. However, the Content Directory Service in Windows 7 does not publish individual version numbers for child containers. This behavior makes Windows 7 not pass the DLNA (Digital Living Network Alliance) Test 126.96.36.199.
Improvements in this hotfix
After you apply this hotfix, the Content Directory Service in Windows 7 provides the correct version numbers for all the containers that are listed in the ContainerUpdateIDs state variable. Therefore, devices can rely on this state variable to optimize cached media library information.
For example, you use a device in the network that caches metadata from the user's library on a computer. After you apply this hotfix, the device can listen for events that carry the ContainerUpdateIDs state variable to perform targeted updates.
This hotfix is included in the hotfix that is described in Microsoft Knowledge Base article 981770. To obtain this hotfix, click the following article number to view the article in the Microsoft Knowledge Base:
981770 You may frequently experience a rebuild of the music library in Windows 7 when you use Windows Media Center or Windows Media Center Extender to enter the music library
For more information about the Service Template Version 1.01 for UPnP devices, visit the following UPnP website: