Freigeben über


IWSDiscoveryPublisher::P ublishEx-Methode (wsddisco.h)

Gibt das Vorhandensein eines Netzwerkhosts an, indem eine Hello Nachricht mit erweiterten Informationen gesendet wird.

Syntax

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

Parameter

[in] pszId

Die logische oder physische Adresse des Geräts, die als Geräteendpunktadresse verwendet wird. Eine logische Adresse ist das Formular urn:uuid:{guid}. Eine physische Adresse kann ein URI mit dem Präfix "http" oder "https" oder einfach ein URI mit dem Präfix "uri" sein. Verwenden Sie nach Möglichkeit eine logische Adresse.

[in] ullMetadataVersion

Aktuelle Metadatenversion.

Hinweis Für die Kompatibilität mit der WS-Discovery Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in] ullInstanceId

Bezeichner für die aktuelle Instanz des geräts, das veröffentlicht wird. Dieser Bezeichner muss immer dann erhöht werden, wenn der Dienst neu gestartet wird. Weitere Informationen zu Instanzbezeichnern finden Sie in Anhang I der WS-Discovery Spezifikation.

Hinweis Für die Kompatibilität mit der WS-Discovery Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in] ullMessageNumber

Zähler innerhalb des Bereichs der Instanz-ID für die aktuelle Nachricht. Die Nachrichtennummer muss für jede Nachricht erhöht werden.

Hinweis Für die Kompatibilität mit der WS-Discovery Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in, optional] pszSessionId

Eindeutiger Bezeichner im Bereich des Instanzbezeichners für die aktuelle Sitzung. Dieser Parameter entspricht dem Sequenzbezeichner im AppSequence-Block in der Probenachricht. Weitere Informationen zu Sequenzbezeichnern finden Sie in Anhang I der WS-Discovery Spezifikation.

Dieser Parameter kann NULL-sein.

[in, optional] pTypesList

Zeigen Sie auf eine WSD_NAME_LIST-Struktur, die die Liste der vom Veröffentlichungshost unterstützten Typen darstellt. Kann NULL-sein.

[in, optional] pScopesList

Zeigen Sie auf eine WSD_URI_LIST-Struktur, die die Liste der übereinstimmenden Bereiche darstellt, die vom Veröffentlichungshost unterstützt werden. Die Liste enthält Hashwerte in Zeichenfolgenform. Kann NULL-sein.

[in, optional] pXAddrsList

Zeigen Sie auf eine WSD_URI_LIST Struktur, die die Liste der vom Veröffentlichungshost unterstützten Transportadressen darstellt. Jede Transportadressenzeichenfolge enthält eine Adresse und Portnummer, die für die Verbindung von einem Remotehost verwendet werden kann. Kann NULL-sein.

[in, optional] pHeaderAny

Zeigen Sie auf eine WSDXML_ELEMENT Struktur, die ein XML-Element enthält, das im Abschnitt "ANY" der Kopfzeile eingefügt werden soll.

[in, optional] pReferenceParameterAny

Zeiger auf eine WSDXML_ELEMENT Struktur, die ein XML-Element enthält, das im Abschnitt "ANY" der Referenzparametereigenschaften eingefügt werden soll.

[in, optional] pPolicyAny

Wird nicht verwendet.

[in, optional] pEndpointReferenceAny

Zeigen Sie auf eine WSDXML_ELEMENT Struktur, die ein XML-Element enthält, das im Abschnitt "ANY" des Endpunkts eingefügt werden soll.

[in, optional] pAny

Zeigen Sie auf eine WSDXML_ELEMENT Struktur, die ein XML-Element enthält, das im Abschnitt "ANY" des Nachrichtentexts eingefügt werden soll.

Rückgabewert

Mögliche Rückgabewerte umfassen, aber nicht beschränkt auf Folgendes:

Rückgabecode Beschreibung
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Mindestens eine der folgenden Bedingungen gilt:
  • pszId- ist NULL-.
  • Die Länge in Zeichen von pszId überschreitet WSD_MAX_TEXT_LENGTH (8192).
  • Die Länge in Zeichen von pszSessionId überschreitet WSD_MAX_TEXT_LENGTH (8192).
HRESULT_FROM_WIN32(ERROR_NO_CALLBACK_ACTIVE)
Es gibt keine registrierte Benachrichtigungssenke. Rufen Sie zum Anfügen einer Spüle RegisterNotificationSinkauf.
E_ABORT
Der Herausgeber wurde nicht gestartet. Durch das Anfügen einer Benachrichtigungssenke wird der Herausgeber gestartet. Rufen Sie zum Anfügen einer Spüle RegisterNotificationSinkauf.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher zum Abschließen des Vorgangs.

Bemerkungen

Bei erfolgreicher Ausführung sendet PublishEx- eine WS-Discovery Hello-Nachricht an das lokale Subnetz mit den bereitgestellten Informationen.

Die Parameter, die auf WSDXML_ELEMENT Strukturen verweisen, können verwendet werden, um den Inhalt der Hello-Nachricht zu erweitern, die mit benutzerdefinierten Informationen gesendet wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2008 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- wsddisco.h (enthalten Wsdapi.h)
DLL- Wsdapi.dll

Siehe auch

IWSDiscoveryPublisher-