Share via


Service-level metadata

DPWS defines two different levels of metadata: the Device delivers metadata about the entire device, and about the relationship between the Device and its Hosted Services; and each Hosted Service delivers metadata about itself (and optionally about its relationship with the Device).

Of these two, the device-level metadata is the most important.  Since WS-Discovery only advertises the Device, the device-level metadata is the only way to discover the services.  Without device-level metadata, you really can't do anything with the device.  WSDAPI and Windows relies heavily on device-level metadata to populate the properties visible inside the Network explorer, and this metadata is retrieved any time an application attempts to use a Hosted Service on the device.

The service-level metadata, on the other hand, isn't absolutely critical for Windows to connect to the device.  It is possible that someone will build an application that uses service-level metadata (the IWSDServiceProxy::BeginGetMetadata/EndGetMetadata methods provide access) but for now it's not used by many of the applications that ship inside Windows.