Bagikan melalui


Metode IWSDiscoveryPublisher::MatchResolve (wsddisco.h)

Menentukan apakah pesan Atasi cocok dengan host yang ditentukan dan mengirim pesan WS-Discovery ResolveMatches jika kecocokan dibuat.

Sintaks

HRESULT MatchResolve(
  [in]           const WSD_SOAP_MESSAGE *pResolveMessage,
  [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
);

Parameter

[in] pResolveMessage

Penunjuk ke struktur WSD_SOAP_MESSAGE yang mewakili pesan Selesaikan yang diteruskan ke ResolveHandler sink pemberitahuan.

[in] pMessageParameters

Penunjuk ke objek IWSDMessageParameters yang mewakili parameter transmisi yang diteruskan ke ResolveHandler sink pemberitahuan.

[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 sedang 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. Jika pTypesList ditentukan, MatchResolve akan menggunakan logika WS-Discovery cocok untuk memverifikasi bahwa jenis cocok dengan yang ditentukan dalam pResolveMessage.

[in, optional] pScopesList

Penunjuk ke struktur WSD_URI_LIST yang mewakili daftar cakupan yang cocok yang didukung oleh host penerbitan. Daftar berisi nilai hash dalam bentuk string. Mungkin NULL. Jika pScopesList ditentukan, MatchResolve akan menggunakan logika WS-Discovery cocok untuk memverifikasi bahwa cakupan cocok dengan yang ditentukan dalam pResolveMessage.

[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. pXAddrsList dan pXAddrsList-Element> mungkin bukan NULL.

Nilai kembali

Kemungkinan nilai pengembalian 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).
  • pProbeMessage adalah NULL.
E_ABORT
Penerbit belum dimulai. Melampirkan sink pemberitahuan akan memulai penerbit. Untuk melampirkan sink, panggil RegisterNotificationSink.
E_OUTOFMEMORY
Tidak cukup memori untuk menyelesaikan operasi.

Keterangan

MatchResolve harus dipanggil hanya ketika penerbit penemuan telah mengeluarkan panggilan balik ResolveHandler . pResolveMessage dan pMessageParameters diteruskan langsung dari panggilan balik ke MatchResolve. ResolveHandler juga meneruskan informasi yang diperlukan oleh penerbit untuk menentukan apakah pesan Resolve yang disediakan cocok dan, jika demikian, untuk mengeluarkan respons ResolveMatches jika sesuai.

MatchResolve mengirim pesan ResolveMatches pada semua adaptor terikat dan secara otomatis mengeluarkan pengiriman ulang pesan saat diperlukan oleh WS-Discovery.

Persyaratan

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