Função WSDCreateDeviceProxyAdvanced (wsdclient.h)
Cria um proxy de dispositivo e retorna um ponteiro para a interface IWSDDeviceProxy .
Sintaxe
HRESULT WSDCreateDeviceProxyAdvanced(
[in] LPCWSTR pszDeviceId,
IWSDAddress *pDeviceAddress,
[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 formato 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.
Se pszDeviceId ou pszLocalId for uma URL prefixada por https, ambas as URLs deverão ser idênticas. Se esse não for o caso, WSDCreateDeviceProxyAdvanced retornará E_INVALIDARG.
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.
pDeviceAddress
Uma interface IWSDAddress que define o endereço de transporte do dispositivo. Quando pDeviceAddress é especificado, um proxy de dispositivo pode ser criado sem exigir a resolução de um endereço lógico passado para pszDeviceId. Esse parâmetro pode ser NULL.
[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 formato 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 de porta, consulte HttpSetServiceConfiguration.
[in] pContext
Uma interface IWSDXMLContext que define tipos de mensagem ou namespaces personalizados.
Se FOR NULL, um contexto padrão que representa os tipos de mensagens internos e namespaces será usado.
[out] ppDeviceProxy
Ponteiro para a interface IWSDDeviceProxy que você usa para representar um dispositivo WSD remoto para aplicativos cliente e middleware.
Valor retornado
Os valores retornados possíveis incluem, mas não se limitam a:
Código de retorno | Descrição |
---|---|
|
Método concluído com êxito. |
|
pszDeviceId é NULL, pszLocalId é NULL, o comprimento em caracteres de pszDeviceId excede WSD_MAX_TEXT_LENGTH (8192), o comprimento em caracteres de pszLocalId excede WSD_MAX_TEXT_LENGTH (8192) ou pszDeviceId aponta para um URI prefixado por https e essa URL não corresponde ao URI passado para pszLocalId. |
|
ppDeviceProxy é NULL. |
|
Memória insuficiente para concluir a operação. |
Comentários
A função WSDCreateDeviceProxyAdvanced 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 WSDCreateDeviceProxyAdvanced , 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 (include Wsdapi.h) |
Biblioteca | Wsdapi.lib |
DLL | Wsdapi.dll |