Bagikan melalui


Metode IWSDiscoveryPublisher::P ublishEx (wsddisco.h)

Mengumumkan kehadiran host jaringan dengan mengirim pesan Halo dengan informasi yang diperluas.

Sintaks

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

Alamat logis atau fisik perangkat, yang digunakan sebagai alamat titik akhir perangkat. Alamat logis adalah dari formulir urn:uuid:{guid}. Alamat fisik dapat menjadi URI yang diawali oleh http atau https, atau hanya URI yang diawali oleh uri. Jika memungkinkan, gunakan alamat logis.

[in] ullMetadataVersion

Versi metadata saat ini.

Catatan Untuk kompatibilitas dengan spesifikasi WS-Discovery, nilai ini harus kurang dari atau sama dengan UINT_MAX (4294967295).
 

[in] ullInstanceId

Pengidentifikasi untuk instans perangkat saat ini yang diterbitkan. Pengidentifikasi ini harus dinaikkan setiap kali layanan dimulai ulang. Untuk informasi selengkapnya tentang pengidentifikasi instans, lihat Lampiran I spesifikasi WS-Discovery.

Catatan Untuk kompatibilitas dengan spesifikasi WS-Discovery, nilai ini harus kurang dari atau sama dengan UINT_MAX (4294967295).
 

[in] ullMessageNumber

Penghitung dalam cakupan pengidentifikasi instans untuk pesan saat ini. Nomor pesan harus bertahap untuk setiap pesan.

Catatan Untuk kompatibilitas dengan spesifikasi WS-Discovery, nilai ini harus kurang dari atau sama dengan UINT_MAX (4294967295).
 

[in, optional] pszSessionId

Pengidentifikasi unik dalam cakupan pengidentifikasi instans untuk sesi saat ini. Parameter ini sesuai dengan pengidentifikasi urutan di blok AppSequence dalam pesan Probe. Untuk informasi selengkapnya tentang pengidentifikasi urutan, lihat Lampiran I spesifikasi WS-Discovery.

Parameter ini mungkin NULL.

[in, optional] pTypesList

Penunjuk ke struktur WSD_NAME_LIST yang mewakili daftar jenis yang didukung oleh host penerbitan. Mungkin NULL.

[in, optional] pScopesList

Arahkan ke struktur WSD_URI_LIST yang mewakili daftar cakupan pencocokan yang didukung oleh host penerbitan. Daftar berisi nilai hash dalam formulir string. Mungkin NULL.

[in, optional] pXAddrsList

Penunjuk ke struktur WSD_URI_LIST yang mewakili daftar alamat transportasi yang didukung oleh host penerbitan. Setiap string alamat transportasi berisi alamat dan nomor port yang dapat digunakan untuk koneksi oleh host jarak jauh. Mungkin NULL.

[in, optional] pHeaderAny

Penunjuk ke struktur WSDXML_ELEMENT yang berisi elemen XML yang akan disisipkan di bagian "ANY" header.

[in, optional] pReferenceParameterAny

Penunjuk ke struktur WSDXML_ELEMENT yang berisi elemen XML yang akan disisipkan di bagian "ANY" dari properti parameter referensi.

[in, optional] pPolicyAny

Tidak digunakan.

[in, optional] pEndpointReferenceAny

Penunjuk ke struktur WSDXML_ELEMENT yang berisi elemen XML yang akan disisipkan di bagian "ANY" dari titik akhir.

[in, optional] pAny

Penunjuk ke struktur WSDXML_ELEMENT yang berisi elemen XML yang akan disisipkan di bagian "ANY" dari isi pesan.

Nilai kembali

Kemungkinan nilai yang dikembalikan termasuk, tetapi tidak terbatas pada, berikut ini:

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
Satu atau beberapa kondisi berikut ini benar:
  • pszId adalah NULL.
  • Panjang karakter pszId melebihi WSD_MAX_TEXT_LENGTH (8192).
  • Panjang karakter pszSessionId melebihi WSD_MAX_TEXT_LENGTH (8192).
HRESULT_FROM_WIN32(ERROR_NO_CALLBACK_ACTIVE)
Tidak ada sink pemberitahuan terdaftar. Untuk melampirkan sink, panggil RegisterNotificationSink.
E_ABORT
Penerbit belum dimulai. Melampirkan sink pemberitahuan memulai penerbit. Untuk melampirkan sink, panggil RegisterNotificationSink.
E_OUTOFMEMORY
Tidak cukup memori untuk menyelesaikan operasi.

Keterangan

Jika berhasil, PublishEx akan mengirim pesan WS-Discovery Hello ke subnet lokal dengan informasi yang disediakan.

Parameter yang mengacu pada struktur WSDXML_ELEMENT dapat digunakan untuk memperluas konten pesan Halo yang dikirim dengan informasi kustom.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wsddisco.h (termasuk Wsdapi.h)
DLL Wsdapi.dll

Lihat juga

IWSDiscoveryPublisher