Fungsi WSDCreateDeviceHostAdvanced (wsdhost.h)
Membuat host perangkat dan mengembalikan pointer ke antarmuka IWSDDeviceHost .
Sintaks
HRESULT WSDCreateDeviceHostAdvanced(
[in] LPCWSTR pszLocalId,
[in] IWSDXMLContext *pContext,
[in] IWSDAddress **ppHostAddresses,
[in] DWORD dwHostAddressCount,
[out] IWSDDeviceHost **ppDeviceHost
);
Parameter
[in] pszLocalId
Alamat logis atau fisik perangkat. Alamat logis adalah dari formulir urn:uuid:{guid}
. Jika pszLocalId adalah alamat logis, host akan mengumumkan alamat logis lalu mengonversi alamat ke alamat fisik saat menerima pesan Resolve atau Probe.
Jika pszLocalId adalah alamat fisik (seperti URL yang diawali oleh http atau https), host akan menggunakan alamat sebagai alamat fisik dan akan menghosting pada alamat tersebut alih-alih alamat default.
Untuk komunikasi yang aman, pszLocalId harus berupa URL yang diawali oleh https, dan host akan menggunakan protokol SSL/TLS pada port yang ditentukan dalam URL. Port yang direkomendasikan adalah port 5358, karena port ini dicadangkan untuk koneksi aman dengan WSDAPI. Jika tidak ada port yang ditentukan, maka host akan menggunakan port 443. Port host harus dikonfigurasi dengan sertifikat server SSL sebelum memanggil WSDCreateDeviceHostAdvanced. Untuk informasi selengkapnya tentang konfigurasi port host, lihat HttpSetServiceConfiguration.
Jika pszLocalId atau alamat transportasi yang direferensikan oleh ppHostAddresses adalah URL yang diawali oleh https, kedua URL harus identik. Jika tidak demikian, WSDCreateDeviceHostAdvanced akan mengembalikan E_INVALIDARG.
URL apa pun (http atau https) harus dihentikan dengan garis miring berikutnya. URL harus berisi alamat IP atau nama host yang valid.
Daftar berikut ini memperlihatkan beberapa contoh nilai untuk pszLocalId. Ini bukan daftar lengkap nilai yang valid.
- http://192.168.0.1:5357/
- http://localhost/
- http://myHostname:5357/
- https://192.168.0.1:5358/
- https://myHostname/
- https://myHostname/myDevice/
- https://myHostname:5358/
[in] pContext
Antarmuka IWSDXMLContext yang menentukan jenis pesan atau namespace kustom.
Jika NULL, konteks default yang mewakili jenis pesan bawaan dan namespace layanan digunakan.
[in] ppHostAddresses
Antarmuka IWSDAddress tunggal atau antarmuka IWSDTransportAddress . Objek memberikan informasi tentang alamat tertentu yang harus didengarkan host.
Jika pszLocalId berisi alamat logis, perilaku yang dihasilkan adalah pemetaan antara alamat logis dan sekumpulan alamat fisik tertentu (bukan pemetaan antara alamat logis dan alamat fisik default).
[in] dwHostAddressCount
Jumlah item dalam array ppHostAddresses . Jika ppHostAddresses adalah antarmuka IWSDAddress , hitungan harus 1.
[out] ppDeviceHost
Arahkan ke antarmuka IWSDDeviceHost yang Anda gunakan untuk mengekspos semantik perangkat khusus WSD yang terkait dengan server yang merespons permintaan masuk.
Mengembalikan nilai
Kemungkinan nilai pengembalian termasuk, tetapi tidak terbatas pada, berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil diselesaikan. |
|
pszLocalId adalah NULL, panjang karakter pszLocalId melebihi WSD_MAX_TEXT_LENGTH (8192), atau pszLocalId menunjuk ke URL yang diawali oleh https dan URL tersebut tidak cocok dengan URL alamat transportasi yang direferensikan oleh ppHostAddresses. |
|
ppDeviceHost adalah NULL. |
|
Tidak cukup memori untuk menyelesaikan operasi. |
Keterangan
Fungsi WSDCreateDeviceHostAdvanced memanggil metode IWSDDeviceHost::Init , yang menginisialisasi instans objek IWSDDeviceHost .
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 | wsdhost.h (termasuk Wsdapi.h) |
Pustaka | Wsdapi.lib |
DLL | Wsdapi.dll |