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 |
---|---|
|
El método se completó correctamente. |
|
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). |
|
ppDeviceProxy es NULL. |
|
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 |