Gambaran Umum Antarmuka WSDAPI

Web Services on Devices API (WSDAPI) digunakan untuk mengembangkan aplikasi klien yang menemukan dan mengakses perangkat, dan untuk mengembangkan host perangkat dan layanan terkait yang berjalan di Windows Vista dan Windows Server 2008. API Penemuan Fungsi dan alat WsdCodeGen adalah alat tambahan yang dapat digunakan untuk klien, host perangkat, dan pengembangan layanan. Antarmuka WSDAPI dapat digunakan langsung untuk mengekspos fungsionalitas tingkat lanjut.

Antarmuka WSDAPI utama

Empat antarmuka WSDAPI utama adalah IWSDiscoveryProvider, IWSDiscoveryPublisher, IWSDDeviceProxy, dan IWSDDeviceHost. Untuk daftar semua antarmuka WSDAPI, lihat Layanan Web pada Antarmuka Perangkat.

IWSDiscoveryProvider

IWSDiscoveryProvider digunakan untuk mengimplementasikan fungsionalitas WS-Discovery pada klien.

Masalah IWSDiscoveryProvider WS-Discovery pesan Probe dan Resolve, dan menerima pesan Hello, Bye, ProbeMatches, dan ResolveMatches. Gunakan informasi yang diambil melalui antarmuka IWSDiscoveryProvider saat membuat antarmuka IWSDDeviceProxy yang digunakan untuk menjelaskan dan mengontrol perangkat DPWS tertentu.

Antarmuka IWSDiscoveryProvider tidak diperlukan ketika hanya menyelesaikan alamat perangkat DPWS tertentu sebelum membuat proksi perangkat. WSDCreateDeviceProxy akan secara otomatis menyelesaikan alamat perangkat jika diperlukan.

API Penemuan Fungsi dapat digunakan untuk penemuan perangkat dan layanan generik, karena API dapat menemukan perangkat DPWS dan juga perangkat yang menggunakan protokol lain. Pertimbangkan untuk menggunakan Penemuan Fungsi saat menulis aplikasi penemuan generik.

IWSDiscoveryPublisher

IWSDiscoveryPublisher digunakan untuk mengimplementasikan fungsionalitas WS-Discovery pada layanan target, seperti perangkat.

IWSDiscoveryPublisher memungkinkan aplikasi untuk menerbitkan kehadirannya menggunakan pesan Halo dan Bye WS-Discovery. Antarmuka ini memungkinkan aplikasi untuk menerima permintaan Probe dan Resolve, dan membangun dan mengirim respons ProbeMatches dan ResolveMatches.

Antarmuka IWSDiscoveryPublisher tidak diperlukan ketika hanya menerbitkan keberadaan objek IWSDDeviceHost . IWSDDeviceHost mengelola kehadiran WS-Discovery sendiri.

IWSDDeviceProxy

IWSDDeviceProxy digunakan untuk mengimplementasikan fungsionalitas kontrol WS-Discovery, WS-MetadataExchange, dan sisi klien. Fungsionalitas ini mencakup kemampuan saluran aman opsional, WS-Eventing, dan lampiran.

Antarmuka IWSDDeviceProxy memiliki tiga penggunaan berikut.

  • Menyelesaikan alamat perangkat logis, jika perlu.
  • Memulai permintaan metadata ke perangkat untuk menghitung jenis dan alamat layanan.
  • Menyediakan sumber untuk objek IWSDServiceProxy , yang dapat digunakan untuk mengeluarkan pesan kontrol ke layanan tertentu pada perangkat.

Objek IWSDDeviceProxy biasanya dibuat dan digunakan sepenuhnya di dalam kode yang dihasilkan oleh WsdCodeGen.

IWSDDeviceHost

IWSDDeviceHost digunakan untuk mengimplementasikan fungsionalitas hosting layanan WS-Discovery sisi perangkat, WS-MetadataExchange, dan layanan. Layanan yang dihosting dapat merespons pesan kontrol, dan dapat mendukung kemampuan saluran, WS-Eventing, dan lampiran yang aman.

Antarmuka IWSDDeviceHost memiliki penggunaan berikut.

  • Menghosting objek layanan.
  • Mengumumkan kehadiran host perangkat di jaringan menggunakan WS-Discovery.
  • Menanggapi permintaan WS-MetadataExchange dan menjelaskan jenis dan lokasi layanan yang dihosting.
  • Mengirimkan permintaan jaringan ke dalam objek layanan.

Fungsionalitas manajemen langganan WS-Discovery, WS-MetadataExchange, dan WS-Eventing ditangani sepenuhnya dalam objek host perangkat. Sebelum layanan dapat dihosting di dalam host perangkat, persyaratan berikut harus dipenuhi.

  • Host harus dibuat dengan memanggil WSDCreateDeviceHost.
  • Metadata yang terkait dengan layanan harus didaftarkan.
  • Layanan itu sendiri harus didaftarkan.
  • Host perangkat harus dimulai.

Objek IWSDDeviceHost biasanya dibuat dan digunakan di dalam kode yang dihasilkan oleh WsdCodeGen.