Compartilhar via


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

Determina se uma mensagem de investigação corresponde ao host especificado e envia um WS-Discovery mensagem ProbeMatches com informações estendidas se a correspondência for feita.

Sintaxe

HRESULT MatchProbeEx(
  [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,
  [in, optional] const WSDXML_ELEMENT   *pHeaderAny,
  [in, optional] const WSDXML_ELEMENT   *pReferenceParameterAny,
  [in, optional] const WSDXML_ELEMENT   *pPolicyAny,
  [in, optional] const WSDXML_ELEMENT   *pEndpointReferenceAny,
  [in, optional] const WSDXML_ELEMENT   *pAny
);

Parâmetros

[in] pProbeMessage

Ponteiro para uma estrutura WSD_SOAP_MESSAGE que representa a mensagem De investigação 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 formato 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 da 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 para a 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 correspondente 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 correspondente 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.

[in, optional] pHeaderAny

Ponteiro para uma estrutura WSDXML_ELEMENT que contém um elemento XML a ser inserido na seção "ANY" do cabeçalho.

[in, optional] pReferenceParameterAny

Ponteiro para uma estrutura WSDXML_ELEMENT que contém um elemento XML a ser inserido na seção "ANY" das propriedades do parâmetro de referência.

[in, optional] pPolicyAny

Não usado.

[in, optional] pEndpointReferenceAny

Ponteiro para uma estrutura WSDXML_ELEMENT que contém um elemento XML a ser inserido na seção "ANY" do ponto de extremidade.

[in, optional] pAny

Ponteiro para uma estrutura WSDXML_ELEMENT que contém um elemento XML a ser inserido na seção "ANY" do corpo da mensagem.

Retornar valor

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

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 publicador. Para anexar um coletor, chame RegisterNotificationSink.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.

Comentários

MatchProbeEx 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 MatchProbeEx. O ProbeHandler também passa informações exigidas pelo editor para determinar se a mensagem de investigação fornecida corresponde e, em caso afirmativo, para emitir uma resposta ProbeMatches, se apropriado.

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

Os parâmetros referentes a estruturas WSDXML_ELEMENT podem ser usados para estender o conteúdo da mensagem ProbeMatches que está sendo enviada com informações personalizadas.

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 (include Wsdapi.h)
DLL Wsdapi.dll

Confira também

Iwsdiscoverypublisher