Partager via


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

Détermine si un message Resolve correspond à l’hôte spécifié et envoie un WS-Discovery message ResolveMatches si la correspondance est établie.

Syntaxe

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
);

Paramètres

[in] pResolveMessage

Pointeur vers une structure de WSD_SOAP_MESSAGE qui représente le message Resolve transmis au gestionnaire resolve du récepteur de notification.

[in] pMessageParameters

Pointeur vers un objet IWSDMessageParameters qui représente les paramètres de transmission passés au ResolveHandler du récepteur de notification.

[in] pszId

Adresse logique ou physique de l’appareil, qui est utilisée comme adresse de point de terminaison de l’appareil. Une adresse logique est de la forme urn:uuid:{guid}. Une adresse physique peut être un URI préfixé par http ou https, ou simplement un URI préfixé par uri. Dans la mesure du possible, utilisez une adresse logique.

[in] ullMetadataVersion

Version actuelle des métadonnées.

Note Pour la compatibilité avec la spécification WS-Discovery, cette valeur doit être inférieure ou égale à UINT_MAX (4294967295).
 

[in] ullInstanceId

Identificateur de la instance actuelle de l’appareil en cours de publication. Cet identificateur doit être incrémenté chaque fois que le service est redémarré. Pour plus d’informations sur les identificateurs instance, consultez l’Annexe I de la spécification WS-Discovery.

Note Pour la compatibilité avec la spécification WS-Discovery, cette valeur doit être inférieure ou égale à UINT_MAX (4294967295).
 

[in] ullMessageNumber

Compteur dans l’étendue de l’identificateur de instance pour le message actuel. Le numéro de message doit être incrémenté pour chaque message.

Note Pour la compatibilité avec la spécification WS-Discovery, cette valeur doit être inférieure ou égale à UINT_MAX (4294967295).
 

[in, optional] pszSessionId

Identificateur unique dans l’étendue de l’identificateur de instance pour la session active. Ce paramètre correspond à l’identificateur de séquence dans le bloc AppSequence dans le message Probe. Pour plus d’informations sur les identificateurs de séquence, consultez l’Annexe I de la spécification WS-Discovery.

Ce paramètre peut être NULL.

[in, optional] pTypesList

Pointeur vers une structure WSD_NAME_LIST qui représente la liste des types pris en charge par l’hôte de publication. Peut être NULL. Si pTypesList est spécifié, MatchResolve utilise WS-Discovery logique de correspondance pour vérifier que les types correspondent à ceux spécifiés dans pResolveMessage.

[in, optional] pScopesList

Pointeur vers une structure WSD_URI_LIST qui représente la liste des étendues correspondantes prises en charge par l’hôte de publication. La liste contient des valeurs de hachage sous forme de chaîne. Peut être NULL. Si pScopesList est spécifié, MatchResolve utilise WS-Discovery logique de correspondance pour vérifier que les étendues correspondent à celles spécifiées dans pResolveMessage.

[in, optional] pXAddrsList

Pointeur vers une structure WSD_URI_LIST qui représente la liste des adresses de transport prises en charge par l’hôte de publication. Chaque chaîne d’adresse de transport contient une adresse et un numéro de port qui peuvent être utilisés pour la connexion par un hôte distant. pXAddrsList et pXAddrsList-Element> ne peuvent pas être NULL.

Valeur retournée

Les valeurs de retour possibles incluent, sans s’y limiter, les éléments suivants :

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_INVALIDARG
Une ou plusieurs des conditions suivantes sont remplies :
  • pszId a la valeur NULL.
  • La longueur en caractères de pszId dépasse WSD_MAX_TEXT_LENGTH (8192).
  • La longueur en caractères de pszSessionId dépasse WSD_MAX_TEXT_LENGTH (8192).
  • pProbeMessage a la valeur NULL.
E_ABORT
L’éditeur n’a pas été démarré. L’attachement d’un récepteur de notification démarre le serveur de publication. Pour attacher un récepteur, appelez RegisterNotificationSink.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.

Remarques

MatchResolve doit être appelé uniquement lorsque l’éditeur de découverte a émis un rappel ResolveHandler . pResolveMessage et pMessageParameters sont passés directement à partir du rappel dans MatchResolve. Le Gestionnaire de résolution transmet également les informations requises par l’éditeur pour déterminer si le message Resolve fourni correspond et, le cas échéant, pour émettre une réponse ResolveMatches.

MatchResolve envoie des messages ResolveMatches sur tous les adaptateurs liés et émet automatiquement des retransmissions de messages lorsque WS-Discovery l’exige.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wsddisco.h (inclure Wsdapi.h)
DLL Wsdapi.dll

Voir aussi

IWSDiscoveryPublisher