Compartilhar via


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

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

Sintaxe

HRESULT MatchProbe(
  [in]           const WSD_SOAP_MESSAGE *pProbeMessage,
  [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] pProbeMessage

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

[in] pMessageParameters

Ponteiro para um objeto IWSDMessageParameters que representa os parâmetros de transmissão passados para o ProbeHandler 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

A versão atual dos metadados.

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, MatchProbe usará WS-Discovery lógica de correspondência para verificar se os tipos na lista correspondem aos tipos especificados em pProbeMessage.

[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, MatchProbe usará WS-Discovery lógica de correspondência para verificar se os escopos na lista correspondem aos escopos especificados em pProbeMessage.

[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. Pode 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

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

MatchProbe envia mensagens ProbeMatches em todos os adaptadores associados e emite retransmissões de mensagens automaticamente 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