Represents a DPWS-compliant device . The device host will announce its presence on the network using the WS-Discovery protocol. The device host will also automatically respond to discovery queries and metadata requests.
The caller can register user-implemented services with the device host. These services will be exposed in the device metadata and the services will be available over the network. Messages bound for these services will be automatically dispatched into the service object.
Call WSDCreateDeviceHost or WSDCreateDeviceHostAdvanced to create an object that exposes this interface.
Methods
The IWSDDeviceHost interface inherits the methods of the IUnknown interface.
In addition, IWSDDeviceHost defines the following methods.
| Method | Description |
Init |
Initializes an instance of an IWSDDeviceHost object.
|
Start |
Starts the device host and publishes the device host using a WS-Discovery Hello message.
|
Stop |
Sends a WS-Discovery Bye message and stops the host.
|
Terminate |
Terminates the host and releases any attached services.
|
RegisterPortType |
Registers a port type for incoming messages.
|
SetMetadata |
Sets the metadata for a device, excluding user-defined service metadata.
|
RegisterService |
Registers a service object for incoming requests and adds the service to the device host metadata.
|
RetireService |
Unregisters a service object that was registered using RegisterService and removes the service from the device host metadata.
|
AddDynamicService |
Registers a service object for incoming requests, but does not add the service to the device host metadata. This is used for transient (dynamic) services.
|
RemoveDynamicService |
Unregisters a service object that was registered using AddDynamicService.
|
SetServiceDiscoverable |
Controls whether or not the service is advertised
using WS-Discovery.
|
SignalEvent |
Notifies all subscribed clients that an event has occurred.
|
Remarks
After retrieving this interface, the application would then:
- Call the RegisterPortType method to register all necessary port types.
- Call SetMetadata to describe the device and optionally call RegisterService one or more times to register services described in the service host metadata.
- Call the Start method to start the device host and to publish the device using WS-Discovery.
After starting the device host, you can optionally:
- Call AddDynamicService for services not described in the service host metadata (for example, an ad hoc print job).
- Call RetireService to terminate action on and disconnect a service activated by the RegisterService method.
- Call the SignalEvent method to indicate that notifications should be sent for subscriptions relating to a particular event.
- Call the Stop method to terminate host execution and terminate publication of the device.
An IWSDDeviceHost object can provide an object for a service on demand (using a notification callback) when calling the host receives a request message directed at that service.
Requirements
| Minimum supported client | Windows Vista |
| Minimum supported server | Windows Server 2008 |
| Header | WsdHost.h (include Wsdapi.h) |
| IDL | Wsdhost.idl |
| DLL | Wsdapi.dll |
See Also
- Overview of the WSDAPI Interfaces
Send comments about this topic to Microsoft
Build date: 11/6/2009