WSDCreateDeviceHost2 function (wsdhost.h)
Creates a device host that can support signed messages and returns a pointer to the IWSDDeviceHost interface.
Syntax
HRESULT WSDCreateDeviceHost2(
[in] LPCWSTR pszLocalId,
[in] IWSDXMLContext *pContext,
[in] WSD_CONFIG_PARAM *pConfigParams,
[in] DWORD dwConfigParamCount,
[out] IWSDDeviceHost **ppDeviceHost
);
Parameters
[in] pszLocalId
The logical or physical address of the device. A logical address is of the form urn:uuid:{guid}
. If pszLocalId is a logical address, the host will announce the logical address and then convert the address to a physical address when it receives Resolve or Probe messages.
If pszLocalId is a physical address (such as URL prefixed by http or https), the host will use the address as the physical address and will host on that address instead of the default one.
If pszLocalId is an HTTPS URL, the recommended port is port 5358, as this port is reserved for secure connections with WSDAPI. If no port is specified, then the host will use port 443. The host port must be configured with an SSL server certificate before calling WSDCreateDeviceHost. For more information about the configuration of host ports, see HttpSetServiceConfiguration.
Any URL (http or https) must be terminated with a trailing slash. The URL must contain a valid IP address or hostname.
The following list shows some example values for pszLocalId. It is not a complete list of valid values.
- http://192.168.0.1:5357/
- http://localhost/
- http://myHostname:5357/
- https://192.168.0.1:5358/
- https://myHostname/
- https://myHostname/myDevice/
- https://myHostname:5358/
[in] pContext
An IWSDXMLContext object that defines custom message types or namespaces.
If NULL, a default context representing the built-in message types and namespaces is used.
[in] pConfigParams
An array of WSD_CONFIG_PARAM structures that contain the parameters for creating the object.
[in] dwConfigParamCount
The total number of structures passed in pConfigParams.
[out] ppDeviceHost
Pointer to an IWSDDeviceHost object that you use to expose the WSD-specific device semantics associated with a server that responds to incoming requests.
Return value
Possible return values include, but are not limited to, the following:
Return code | Description |
---|---|
|
Function completed successfully. |
|
pszLocalId is NULL or the length in characters of pszLocalId exceeds WSD_MAX_TEXT_LENGTH (8192). |
|
ppDeviceHost is NULL. |
|
Insufficient memory to complete the operation. |
Remarks
The WSDCreateDeviceHost2 function calls the IWSDDeviceHost::Init method, which initializes an instance of an IWSDDeviceHost object.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Target Platform | Windows |
Header | wsdhost.h (include Wsdapi.h) |
Library | Wsdapi.lib |
DLL | Wsdapi.dll |