Compartilhar via


Função WSDCreateDeviceProxy (wsdclient.h)

Cria um proxy de dispositivo e retorna um ponteiro para a interface IWSDDeviceProxy .

Sintaxe

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

Parâmetros

[in] pszDeviceId

O endereço lógico ou físico do dispositivo. Um endereço lógico é do formulário urn:uuid:{guid}. Um endereço físico é um URI prefixado por http ou https. Se esse endereço for um URI prefixado por https, o proxy usará o protocolo SSL/TLS.

O endereço do dispositivo pode ser prefixado com o caractere @ . Quando pszDeviceId começa com @, essa função não recupera os metadados do dispositivo ao criar o proxy do dispositivo.

[in] pszLocalId

O endereço lógico ou físico do cliente, que é usado para identificar o proxy e para atuar como um ponto de extremidade do coletor de eventos. Um endereço lógico é do formulário urn:uuid:{guid}.

Se o cliente usar um canal seguro para receber eventos, o endereço será um URI prefixado por https. Esse URI deve especificar a porta 5358, pois essa porta é reservada para conexões seguras com o WSDAPI. A porta deve ser configurada com um certificado de servidor SSL antes de chamar WSDCreateDeviceProxyAdvanced. Para obter mais informações sobre a configuração da porta, consulte HttpSetServiceConfiguration.

[in] pContext

Um objeto IWSDXMLContext que define tipos de mensagem ou namespaces personalizados.

Se NULL, um contexto padrão que representa os tipos de mensagens internos e namespaces será usado.

[out] ppDeviceProxy

Ponteiro para um objeto IWSDDeviceProxy que você usa para representar um dispositivo WSD remoto para aplicativos cliente e middleware.

Valor retornado

Os possíveis valores retornados incluem, mas não se limitam a, o seguinte:

Código de retorno Descrição
S_OK
Método concluído com êxito.
E_INVALIDARG
pszDeviceId é NULL, pszLocalId é NULL, o comprimento em caracteres de pszDeviceId excede WSD_MAX_TEXT_LENGTH (8192) ou o comprimento em caracteres de pszLocalId excede WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceProxy é NULL.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.

Comentários

A função WSDCreateDeviceProxy chama o método IWSDDeviceProxy::Init , que inicializa uma instância de um objeto IWSDDeviceProxy .

Essa função também recuperará os metadados do dispositivo, a menos que o parâmetro pszDeviceId comece com o caractere @ . Para recuperar metadados do dispositivo após a criação do proxy do dispositivo, chame IWSDDeviceProxy::BeginGetMetadata e IWSDDeviceProxy::EndGetMetadata no objeto IWSDDeviceProxy retornado.

Para obter informações sobre como solucionar problemas de chamadas de função WSDCreateDeviceProxy , consulte Solução de problemas de aplicativos WSDAPI.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wsdclient.h (inclua Wsdapi.h)
Biblioteca Wsdapi.lib
DLL Wsdapi.dll

Confira também

Solução de problemas de aplicativos WSDAPI