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 hat das Format urn:uuid:{guid}. Eine physische Adresse kann ein URI mit dem Präfix "http" oder "https" oder einfach ein URI mit dem Präfix sein uri. Verwenden Sie nach Möglichkeit eine logische Adresse.

[in] ullMetadataVersion

Aktuelle Metadatenversion.

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

[in] ullInstanceId

Bezeichner für den aktuellen instance des zu veröffentlichenden Geräts. Dieser Bezeichner muss bei jedem Neustart des Diensts erhöht werden. Weitere Informationen zu instance Bezeichnern finden Sie in Anhang I der WS-Discovery-Spezifikation.

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

[in] ullMessageNumber

Leistungsindikator innerhalb des Bereichs des instance Bezeichners für die aktuelle Nachricht. Die Nachrichtennummer muss für jede Nachricht erhöht werden.

Hinweis Zur 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 instance Bezeichners für die aktuelle Sitzung. Dieser Parameter entspricht dem Sequenzbezeichner im AppSequence-Block in der Testnachricht. Weitere Informationen zu Sequenzbezeichnern finden Sie in Anhang I der WS-Discovery-Spezifikation.

Dieser Parameter kann NULL sein.

[in, optional] pTypesList

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

[in, optional] pScopesList

Zeiger 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

Zeiger 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

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

[in, optional] pReferenceParameterAny

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

[in, optional] pPolicyAny

Wird nicht verwendet.

[in, optional] pEndpointReferenceAny

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

[in, optional] pAny

Zeiger 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 sind unter anderem folgendes:

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Mindestens eine der folgenden Bedingungen ist erfüllt:
  • 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. Um eine Senke anzufügen, rufen Sie RegisterNotificationSink auf.
E_ABORT
Der Herausgeber wurde nicht gestartet. Das Anfügen einer Benachrichtigungssenke startet den Herausgeber. Um eine Senke anzufügen, rufen Sie RegisterNotificationSink auf.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.

Hinweise

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

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wsddisco.h (einschließen von Wsdapi.h)
DLL Wsdapi.dll

Weitere Informationen

IWSDiscoveryPublisher