Compartir a través de


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

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

Sintaxis

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

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

[in] pMessageParameters

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

[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

Versión actual de los metadatos.

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 , MatchResolve usará WS-Discovery lógica coincidente para comprobar que los tipos coinciden con los especificados en pResolveMessage.

[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 , MatchResolve usará WS-Discovery lógica coincidente para comprobar que los ámbitos coinciden con los especificados en pResolveMessage.

[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. pXAddrsList y pXAddrsList-Element> pueden no 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 MatchResolve cuando el publicador de detección haya emitido una devolución de llamada resolveHandler. pResolveMessage y pMessageParameters se pasan directamente desde la devolución de llamada a MatchResolve. ResolveHandler también pasa la información requerida por el publicador para determinar si el mensaje Resolve proporcionado coincide y, si es así, para emitir una respuesta ResolveMatches si procede.

MatchResolve envía mensajes ResolveMatches 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