Compartir a través de


Función WSDCreateDeviceHost (wsdhost.h)

Crea un host de dispositivo y devuelve un puntero a la interfaz IWSDDeviceHost .

Sintaxis

HRESULT WSDCreateDeviceHost(
  [in]  LPCWSTR        pszLocalId,
  [in]  IWSDXMLContext *pContext,
  [out] IWSDDeviceHost **ppDeviceHost
);

Parámetros

[in] pszLocalId

Dirección lógica o física del dispositivo. Una dirección lógica tiene el formato urn:uuid:{guid}. Si pszLocalId es una dirección lógica, el host anunciará la dirección lógica y, a continuación, convertirá la dirección en una dirección física cuando reciba mensajes Resolve o Probe.

Si pszLocalId es una dirección física (como la dirección URL precedida por http o https), el host usará la dirección como dirección física y se hospedará en esa dirección en lugar de la predeterminada.

Para la comunicación segura, pszLocalId debe ser una dirección URL con el prefijo https y el host usará el protocolo SSL/TLS en el puerto especificado en la dirección URL. El puerto recomendado es el puerto 5358, ya que este puerto está reservado para conexiones seguras con WSDAPI. Si no se especifica ningún puerto, el host usará el puerto 443. El puerto host debe configurarse con un certificado de servidor SSL antes de llamar a WSDCreateDeviceHost. Para obtener más información sobre la configuración de puertos de host, vea HttpSetServiceConfiguration.

Cualquier dirección URL (http o https) debe terminarse con una barra diagonal final. La dirección URL debe contener una dirección IP o un nombre de host válidos.

En la lista siguiente se muestran algunos valores de ejemplo para pszLocalId. No es una lista completa de valores válidos.

  • 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

Objeto IWSDXMLContext que define tipos de mensajes personalizados o espacios de nombres.

Si es NULL, se usa un contexto predeterminado que representa los tipos de mensajes integrados y los espacios de nombres.

[out] ppDeviceHost

Puntero a un objeto IWSDDeviceHost que se usa para exponer la semántica de dispositivo específica de WSD asociada a un servidor que responde a las solicitudes entrantes.

Valor devuelto

Entre los valores devueltos posibles se incluyen, entre otros, los siguientes:

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
pszLocalId es NULL o la longitud en caracteres de pszLocalId supera WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceHost es NULL.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Observaciones

La función WSDCreateDeviceHost llama al método IWSDDeviceHost::Init , que inicializa una instancia de un objeto IWSDDeviceHost .

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wsdhost.h (incluya Wsdapi.h)
Library Wsdapi.lib
Archivo DLL Wsdapi.dll

Consulte también

WSDCreateDeviceHostAdvanced