Partager via


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

Détermine si un message probe correspond à l’hôte spécifié et envoie un WS-Discovery message ProbeMatches avec des informations étendues si la correspondance est effectuée.

Syntaxe

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

Paramètres

[in] pProbeMessage

Pointeur vers une structure de WSD_SOAP_MESSAGE qui représente le message probe passé au Gestionnaire de sonde du récepteur de notification.

[in] pMessageParameters

Pointeur vers un objet IWSDMessageParameters qui représente les paramètres de transmission passés au ProbeHandler 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 instance pour la session active. Ce paramètre correspond à l’identificateur de séquence dans le bloc AppSequence dans le message Sonde. Pour plus d’informations sur les identificateurs de séquence, consultez l’Annexe I de la spécification WS-Discovery.

Ce paramètre peut avoir la valeur 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é, MatchProbe utilise WS-Discovery logique de correspondance pour vérifier que les types de la liste correspondent aux types spécifiés dans pProbeMessage.

[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é, MatchProbe utilise WS-Discovery logique de correspondance pour vérifier que les étendues de la liste correspondent aux étendues spécifiées dans pProbeMessage.

[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. Peut être NULL.

[in, optional] pHeaderAny

Pointeur vers une structure WSDXML_ELEMENT qui contient un élément XML à insérer dans la section « ANY » de l’en-tête.

[in, optional] pReferenceParameterAny

Pointeur vers une structure WSDXML_ELEMENT qui contient un élément XML à insérer dans la section « ANY » des propriétés du paramètre de référence.

[in, optional] pPolicyAny

Non utilisé.

[in, optional] pEndpointReferenceAny

Pointeur vers une structure WSDXML_ELEMENT qui contient un élément XML à insérer dans la section « ANY » du point de terminaison.

[in, optional] pAny

Pointeur vers une structure WSDXML_ELEMENT qui contient un élément XML à insérer dans la section « ANY » du corps du message.

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

MatchProbeEx doit être appelé uniquement lorsque l’éditeur de découverte a émis un rappel ProbeHandler . les pProbeMessage et pMessageParameters sont passés directement du rappel à MatchProbeEx. Le Gestionnaire de sonde transmet également les informations requises par l’éditeur pour déterminer si le message probe fourni correspond et, si c’est le cas, pour émettre une réponse ProbeMatches le cas échéant.

MatchProbeEx envoie des messages ProbeMatches sur toutes les cartes liées et émet automatiquement des retransmissions de messages lorsque WS-Discovery l’exige.

Les paramètres faisant référence aux structures WSDXML_ELEMENT peuvent être utilisés pour étendre le contenu du message ProbeMatches envoyé avec des informations personnalisées.

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