Compartir a través de


Función WSDCreateDeviceProxy (wsdclient.h)

Crea un proxy de dispositivo y devuelve un puntero a la interfaz IWSDDeviceProxy .

Sintaxis

HRESULT WSDCreateDeviceProxy(
  [in]  LPCWSTR         pszDeviceId,
  [in]  LPCWSTR         pszLocalId,
  [in]  IWSDXMLContext  *pContext,
  [out] IWSDDeviceProxy **ppDeviceProxy
);

Parámetros

[in] pszDeviceId

Dirección lógica o física del dispositivo. Una dirección lógica tiene el formato urn:uuid:{guid}. Una dirección física es un URI prefijo por http o https. Si esta dirección es un URI con el prefijo https, el proxy usará el protocolo SSL/TLS.

La dirección del dispositivo puede tener como prefijo el carácter @ . Cuando pszDeviceId comienza con @, esta función no recupera los metadatos del dispositivo al crear el proxy del dispositivo.

[in] pszLocalId

Dirección lógica o física del cliente, que se usa para identificar el proxy y para actuar como un punto de conexión receptor de eventos. Una dirección lógica tiene el formato urn:uuid:{guid}.

Si el cliente usa un canal seguro para recibir eventos, la dirección tiene el prefijo https. Este URI debe especificar el puerto 5358, ya que este puerto está reservado para conexiones seguras con WSDAPI. El puerto debe configurarse con un certificado de servidor SSL antes de llamar a WSDCreateDeviceProxyAdvanced. Para obtener más información sobre la configuración del puerto, vea HttpSetServiceConfiguration.

[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] ppDeviceProxy

Puntero a un objeto IWSDDeviceProxy que se usa para representar un dispositivo WSD remoto para aplicaciones cliente y middleware.

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
pszDeviceId es NULL, pszLocalId es NULL, la longitud en caracteres de pszDeviceId supera WSD_MAX_TEXT_LENGTH (8192) o la longitud en caracteres de pszLocalId supera WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceProxy es NULL.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Observaciones

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

Esta función también recuperará los metadatos del dispositivo, a menos que el parámetro pszDeviceId comience con el carácter @ . Para recuperar los metadatos del dispositivo después de crear el proxy del dispositivo, llame a IWSDDeviceProxy::BeginGetMetadata e IWSDDeviceProxy::EndGetMetadata en el objeto IWSDDeviceProxy devuelto.

Para obtener información sobre cómo solucionar problemas de llamadas a funciones de WSDCreateDeviceProxy , vea Solución de problemas de aplicaciones WSDAPI.

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 wsdclient.h (incluya Wsdapi.h)
Library Wsdapi.lib
Archivo DLL Wsdapi.dll

Consulte también

Solución de problemas de aplicaciones WSDAPI