Compartir a través de


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

Determina si un mensaje de sondeo coincide con el host especificado y envía un mensaje probeMatches WS-Discovery si se realiza la coincidencia.

Sintaxis

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

Puntero a una estructura de WSD_SOAP_MESSAGE que representa el mensaje de sondeo pasado al ProbeHandler del receptor de notificaciones.

[in] pMessageParameters

Puntero a un objeto IWSDMessageParameters que representa los parámetros de transmisión pasados al ProbeHandler del receptor de notificación.

[in] pszId

La dirección lógica o física del dispositivo, que se usa como dirección del punto de conexión del dispositivo. Una dirección lógica tiene el formato urn:uuid:{guid}. Una dirección física puede tener un prefijo de URI por http o https, o simplemente un URI con el prefijo uri. Siempre que sea posible, use una dirección lógica.

[in] ullMetadataVersion

La versión de metadatos actual.

Nota Para la compatibilidad con la especificación WS-Discovery, este valor debe ser menor o igual que UINT_MAX (4294967295).
 

[in] ullInstanceId

Identificador de la instancia actual del dispositivo que se está publicando. Este identificador debe incrementarse cada vez que se reinicie el servicio. Para obtener más información sobre los identificadores de instancia, consulte el Apéndice I de la especificación WS-Discovery.

Nota Para la compatibilidad con la especificación WS-Discovery, este valor debe ser menor o igual que UINT_MAX (4294967295).
 

[in] ullMessageNumber

Contador dentro del ámbito del identificador de instancia del mensaje actual. El número de mensaje debe incrementarse para cada mensaje.

Nota Para la compatibilidad con la especificación WS-Discovery, este valor debe ser menor o igual que UINT_MAX (4294967295).
 

[in, optional] pszSessionId

Identificador único dentro del ámbito del identificador de instancia de la sesión actual. Este parámetro corresponde al identificador de secuencia del bloque AppSequence del mensaje de sondeo. Para obtener más información sobre los identificadores de secuencia, consulte el Apéndice I de la especificación WS-Discovery.

Este parámetro puede ser NULL.

[in, optional] pTypesList

Puntero a una estructura de WSD_NAME_LIST que representa la lista de tipos admitidos por el host de publicación. Puede ser NULL.

Si se especifica pTypesList , MatchProbe usará WS-Discovery lógica coincidente para comprobar que los tipos de la lista coinciden con los tipos especificados en pProbeMessage.

[in, optional] pScopesList

Puntero a una estructura de WSD_URI_LIST que representa la lista de ámbitos coincidentes admitidos por el host de publicación. La lista contiene valores hash en forma de cadena. Puede ser NULL.

Si se especifica pScopesList , MatchProbe usará WS-Discovery lógica coincidente para comprobar que los ámbitos de la lista coinciden con los ámbitos especificados en pProbeMessage.

[in, optional] pXAddrsList

Puntero a una estructura de WSD_URI_LIST que representa la lista de direcciones de transporte admitidas por el host de publicación. Cada cadena de dirección de transporte contiene una dirección y un número de puerto que un host remoto puede usar para la conexión. Puede ser NULL.

Valor devuelto

Entre los valores devueltos posibles se incluyen, entre otros, los siguientes:

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
Se cumple una o varias de las condiciones siguientes:
  • pszId es NULL.
  • La longitud en caracteres de pszId supera WSD_MAX_TEXT_LENGTH (8192).
  • La longitud en caracteres de pszSessionId supera WSD_MAX_TEXT_LENGTH (8192).
  • pProbeMessage es NULL.
E_ABORT
No se ha iniciado el publicador. La asociación de un receptor de notificaciones inicia el publicador. Para adjuntar un receptor, llame a RegisterNotificationSink.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Comentarios

Solo se debe llamar a MatchProbe cuando el publicador de detección haya emitido una devolución de llamada probeHandler. pProbeMessage y pMessageParameters se pasan directamente desde la devolución de llamada a MatchProbe. ProbeHandler también pasa información requerida por el publicador para determinar si el mensaje de sondeo proporcionado coincide y, si es así, para emitir una respuesta ProbeMatches si procede.

MatchProbe envía mensajes ProbeMatches en todos los adaptadores enlazados y emite automáticamente retransmisiones de mensajes cuando sea necesario para WS-Discovery.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wsddisco.h (incluya Wsdapi.h)
Archivo DLL Wsdapi.dll

Consulte también

IWSDiscoveryPublisher