Bagikan melalui


Metode IUPnPService::QueryStateVariable (upnp.h)

Metode QueryStateVariable mengembalikan nilai variabel status layanan yang ditentukan.

Sintaks

HRESULT QueryStateVariable(
  [in]  BSTR    bstrVariableName,
  [out] VARIANT *pValue
);

Parameter

[in] bstrVariableName

Menentukan variabel status untuk mengembalikan nilai.

[out] pValue

Menerima referensi ke nilai variabel yang ditentukan oleh bstrVariableName. Jenis data yang dikembalikan tergantung pada variabel status yang kuerinya dipanggil.

Untuk membebaskan parameter ini, gunakan VariantClear.

Mengembalikan nilai

Jika metode berhasil, nilai yang dikembalikan adalah S_OK. Jika tidak, metode mengembalikan salah satu kode kesalahan COM yang ditentukan dalam WinError.h atau salah satu nilai pengembalian khusus UPnP yang tercantum dalam tabel berikut. Beberapa nilai ini menunjukkan bahwa kesalahan diterima dari perangkat bersertifikat UPnP. Untuk informasi selengkapnya, lihat Kode Kesalahan Perangkat.

Menampilkan kode Deskripsi
UPNP_E_DEVICE_ERROR
Variabel tidak dimuat dan kueri jarak jauh mengembalikan kode kesalahan. Ini bukan kesalahan transportasi; perangkat menerima permintaan, tetapi mengembalikan kesalahan.
UPNP_E_DEVICE_TIMEOUT
Perangkat belum merespons dalam periode waktu habis 30 detik.
UPNP_E_INVALID_VARIABLE
Variabel tidak ada.
UPNP_E_PROTOCOL_ERROR
Kueri tidak selesai karena masalah pada tingkat protokol UPnP.
UPNP_E_TRANSPORT_ERROR
Variabel tidak di-evented dan kueri jarak jauh untuk nilai gagal karena masalah HTTP. Untuk mengambil kode kesalahan HTTP, gunakan IUPnPService::LastTransportStatus.
UPNP_E_VARIABLE_VALUE_UNKNOWN
Variabel terjadi, tetapi perangkat lunak UPnP tidak dapat mengembalikan nilai karena masih menunggu pemberitahuan peristiwa.

Keterangan

Forum UPnP mencegah penggunaan metode ini. Jika memungkinkan, gunakan tindakan khusus layanan, jika telah disediakan.

Metode ini mengambil nilai variabel yang di-event dari cache lokal objek layanan. Cache berisi nilai untuk setiap variabel yang ditunjukkan dalam pemberitahuan peristiwa terakhir. Metode ini mengambil nilai variabel yang tidak di-peristiwa dengan mengirim kueri jarak jauh ke perangkat.

Jika aplikasi memanggil metode ini untuk variabel status peristiwa, antara waktu layanan pertama kali menginisialisasi dirinya sendiri dan waktu memproses peristiwa pertamanya, UPNP_E_VARIABLE_VALUE_UNKNOWN dikembalikan.

Jika aplikasi memanggil metode ini untuk layanan yang tidak menggunakan peristiwa, dan permintaan HTTP gagal, UPNP_E_TRANSPORT_ERROR dikembalikan. Untuk melihat status, gunakan IUPnPService::LastTransportStatus.

Catatan Variabel time.tz dapat berisi informasi zona waktu yang salah pada titik kontrol. Misalnya, Anda dapat memiliki perangkat dan titik kontrol yang berjalan dalam zona waktu yang sama, -7.00. Saat titik kontrol meminta variabel time.tz untuk waktu saat ini, perangkat mengembalikan struktur tanggal dengan nilai zona waktu yang diatur ke -8,00 alih-alih -7,00.

Untuk mengatasi masalah ini, gunakan jenis variabel dataTime.tz sebagai gantinya time.tz pada titik kontrol.

 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header upnp.h
DLL Upnp.dll

Lihat juga

IUPnPService

IUPnPService::LastTransportStatus