Compartir a través de


Método IWSDDeviceHost::Init (wsdhost.h)

Inicializa una instancia de un objeto IWSDDeviceHost , que es la representación del lado host de un dispositivo.

Sintaxis

HRESULT Init(
  [in]           LPCWSTR        pszLocalId,
  [in, optional] IWSDXMLContext *pContext,
  [in, optional] IWSDAddress    **ppHostAddresses,
  [in, optional] DWORD          dwHostAddressCount
);

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 de host debe configurarse con un certificado de servidor SSL. 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, optional] pContext

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

[in, optional] ppHostAddresses

Objeto IWSDAddress o IWSDTransportAddress . Los objetos proporcionan información sobre direcciones específicas en las que el host debe escuchar.

Si pszLocalId contiene una dirección local, el comportamiento resultante es una asignación entre la dirección lógica y la dirección física proporcionada (en lugar de una asignación entre la dirección lógica y la dirección física predeterminada).

[in, optional] dwHostAddressCount

Número de elementos de la matriz ppHostAddresses . Si ppHostAddresses es una interfaz IWSDAddress , el recuento debe ser 1.

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, la longitud en caracteres de pszLocalId supera WSD_MAX_TEXT_LENGTH (8192) o el número de direcciones a las que hace referencia ppHostAddresses no coincide con dwHostAddressCount.
E_FAIL
El host del dispositivo está en un estado inesperado.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.
E_ABORT
No se pudo completar la inicialización.

Comentarios

WSDCreateDeviceHost llama a este método y, normalmente, el código no lo llama directamente.

Requisitos

Requisito Value
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)
Archivo DLL Wsdapi.dll

Consulte también

IWSDDeviceHost