Compartilhar via


Método IWSDiscoveryPublisher::MatchResolve (wsddisco.h)

Determina se uma mensagem Resolver corresponde ao host especificado e envia um WS-Discovery mensagem ResolveMatches se a correspondência for feita.

Sintaxe

HRESULT MatchResolve(
  [in]           const WSD_SOAP_MESSAGE *pResolveMessage,
  [in]           IWSDMessageParameters  *pMessageParameters,
  [in]           LPCWSTR                pszId,
  [in]           ULONGLONG              ullMetadataVersion,
  [in]           ULONGLONG              ullInstanceId,
  [in]           ULONGLONG              ullMessageNumber,
  [in, optional] LPCWSTR                pszSessionId,
  [in, optional] const WSD_NAME_LIST    *pTypesList,
  [in, optional] const WSD_URI_LIST     *pScopesList,
  [in, optional] const WSD_URI_LIST     *pXAddrsList
);

Parâmetros

[in] pResolveMessage

Ponteiro para uma estrutura WSD_SOAP_MESSAGE que representa a mensagem Resolver passada para ResolveHandler do coletor de notificação.

[in] pMessageParameters

Ponteiro para um objeto IWSDMessageParameters que representa os parâmetros de transmissão passados para ResolveHandler do coletor de notificação.

[in] pszId

O endereço lógico ou físico do dispositivo, que é usado como o endereço do ponto de extremidade do dispositivo. Um endereço lógico é do formulário urn:uuid:{guid}. Um endereço físico pode ser um URI prefixado por http ou https ou simplesmente um URI prefixado por uri. Sempre que possível, use um endereço lógico.

[in] ullMetadataVersion

Versão de metadados atual.

Nota Para compatibilidade com a especificação WS-Discovery, esse valor deve ser menor ou igual a UINT_MAX (4294967295).
 

[in] ullInstanceId

Identificador para a instância atual do dispositivo que está sendo publicado. Esse identificador deve ser incrementado sempre que o serviço é reiniciado. Para obter mais informações sobre identificadores de instância, consulte Apêndice I da especificação WS-Discovery.

Nota Para compatibilidade com a especificação WS-Discovery, esse valor deve ser menor ou igual a UINT_MAX (4294967295).
 

[in] ullMessageNumber

Contador dentro do escopo do identificador de instância para a mensagem atual. O número da mensagem deve ser incrementado para cada mensagem.

Nota Para compatibilidade com a especificação WS-Discovery, esse valor deve ser menor ou igual a UINT_MAX (4294967295).
 

[in, optional] pszSessionId

Identificador exclusivo dentro do escopo do identificador de instância da sessão atual. Esse parâmetro corresponde ao identificador de sequência no bloco AppSequence na mensagem De investigação. Para obter mais informações sobre identificadores de sequência, consulte Apêndice I da especificação WS-Discovery.

Esse parâmetro pode ser NULL.

[in, optional] pTypesList

Ponteiro para uma estrutura WSD_NAME_LIST que representa a lista de tipos com suporte pelo host de publicação. Pode ser NULL. Se pTypesList for especificado, MatchResolve usará WS-Discovery lógica de correspondência para verificar se os tipos correspondem aos especificados em pResolveMessage.

[in, optional] pScopesList

Ponteiro para uma estrutura WSD_URI_LIST que representa a lista de escopos correspondentes com suporte pelo host de publicação. A lista contém valores de hash no formato de cadeia de caracteres. Pode ser NULL. Se pScopesList for especificado, MatchResolve usará WS-Discovery lógica de correspondência para verificar se os escopos correspondem aos especificados em pResolveMessage.

[in, optional] pXAddrsList

Ponteiro para uma estrutura de WSD_URI_LIST que representa a lista de endereços de transporte compatíveis com o host de publicação. Cada cadeia de caracteres de endereço de transporte contém um endereço e um número de porta que podem ser usados para conexão por um host remoto. pXAddrsList e pXAddrsList-Element> podem não ser NULL.

Retornar valor

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

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
E_INVALIDARG
Uma ou mais das seguintes condições são verdadeiras:
  • pszId é NULL.
  • O comprimento em caracteres de pszId excede WSD_MAX_TEXT_LENGTH (8192).
  • O comprimento em caracteres de pszSessionId excede WSD_MAX_TEXT_LENGTH (8192).
  • pProbeMessage é NULL.
E_ABORT
O editor não foi iniciado. Anexar um coletor de notificação inicia o editor. Para anexar um coletor, chame RegisterNotificationSink.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.

Comentários

MatchResolve deve ser chamado somente quando o editor de descoberta tiver emitido um retorno de chamada ResolveHandler . pResolveMessage e pMessageParameters são passados diretamente do retorno de chamada para MatchResolve. O ResolveHandler também passa informações exigidas pelo editor para determinar se a mensagem Resolver fornecida corresponde e, se for o caso, para emitir uma resposta ResolveMatches, se apropriado.

MatchResolve envia mensagens ResolveMatches em todos os adaptadores associados e emite automaticamente retransmissões de mensagens quando exigido pelo WS-Discovery.

Requisitos

Requisito Valor
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 wsddisco.h (inclua Wsdapi.h)
DLL Wsdapi.dll

Confira também

Iwsdiscoverypublisher