Bagikan melalui


Fungsi WSDCreateDeviceProxy (wsdclient.h)

Membuat proksi perangkat dan mengembalikan pointer ke antarmuka IWSDDeviceProxy .

Sintaks

HRESULT WSDCreateDeviceProxy(
  [in]  LPCWSTR         pszDeviceId,
  [in]  LPCWSTR         pszLocalId,
  [in]  IWSDXMLContext  *pContext,
  [out] IWSDDeviceProxy **ppDeviceProxy
);

Parameter

[in] pszDeviceId

Alamat logis atau fisik perangkat. Alamat logis adalah dari formulir urn:uuid:{guid}. Alamat fisik adalah URI yang diawali oleh http atau https. Jika alamat ini adalah URI yang diawali oleh https, maka proksi akan menggunakan protokol SSL/TLS.

Alamat perangkat dapat diawali dengan karakter @. Ketika pszDeviceId dimulai dengan @, fungsi ini tidak mengambil metadata perangkat saat membuat proksi perangkat.

[in] pszLocalId

Alamat logis atau fisik klien, yang digunakan untuk mengidentifikasi proksi dan bertindak sebagai titik akhir sink peristiwa. Alamat logis adalah dari formulir urn:uuid:{guid}.

Jika klien menggunakan saluran aman untuk menerima peristiwa, maka alamatnya adalah URI yang diawali oleh https. URI ini harus menentukan port 5358, karena port ini disediakan untuk koneksi aman dengan WSDAPI. Port harus dikonfigurasi dengan sertifikat server SSL sebelum memanggil WSDCreateDeviceProxyAdvanced. Untuk informasi selengkapnya tentang konfigurasi port, lihat HttpSetServiceConfiguration.

[in] pContext

Objek IWSDXMLContext yang menentukan jenis pesan atau namespace kustom.

Jika NULL, konteks default yang mewakili jenis pesan bawaan dan namespace layanan digunakan.

[out] ppDeviceProxy

Arahkan ke objek IWSDDeviceProxy yang Anda gunakan untuk mewakili perangkat WSD jarak jauh untuk aplikasi klien dan middleware.

Nilai kembali

Kemungkinan nilai pengembalian termasuk, tetapi tidak terbatas pada, berikut ini:

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
pszDeviceId adalah NULL, pszLocalId adalah NULL, panjang karakter pszDeviceId melebihi WSD_MAX_TEXT_LENGTH (8192), atau panjang karakter pszLocalId melebihi WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceProxy adalah NULL.
E_OUTOFMEMORY
Tidak cukup memori untuk menyelesaikan operasi.

Keterangan

Fungsi WSDCreateDeviceProxy memanggil metode IWSDDeviceProxy::Init , yang menginisialisasi instans objek IWSDDeviceProxy .

Fungsi ini juga akan mengambil metadata perangkat, kecuali parameter pszDeviceId dimulai dengan karakter @. Untuk mengambil metadata perangkat setelah proksi perangkat dibuat, panggil IWSDDeviceProxy::BeginGetMetadata dan IWSDDeviceProxy::EndGetMetadata pada objek IWSDDeviceProxy yang dikembalikan.

Untuk informasi tentang pemecahan masalah panggilan fungsi WSDCreateDeviceProxy , lihat Pemecahan Masalah Aplikasi WSDAPI.

Persyaratan

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

Lihat juga

Pemecahan masalah Aplikasi WSDAPI