Méthode IWSDiscoveryPublisher::P ublishEx (wsddisco.h)
Annonce la présence d’un hôte réseau en envoyant un message Hello avec des informations étendues.
Syntaxe
HRESULT PublishEx(
[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] 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.
[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.
[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.
[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.
[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.
[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 |
---|---|
|
La commande s'est correctement terminée. |
|
Une ou plusieurs des conditions suivantes sont remplies :
|
|
Il n’existe aucun récepteur de notification inscrit. Pour attacher un récepteur, appelez RegisterNotificationSink. |
|
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. |
|
Mémoire insuffisante pour terminer l’opération. |
Remarques
En cas de réussite, PublishEx envoie un WS-Discovery message Hello au sous-réseau local avec les informations fournies.
Les paramètres faisant référence aux structures WSDXML_ELEMENT peuvent être utilisés pour étendre le contenu du message Hello envoyé avec des informations personnalisées.
Spécifications
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 |