struktur WMILIB_CONTEXT (wmilib.h)

Struktur WMILIB_CONTEXT menyediakan informasi pendaftaran untuk blok data driver dan blok peristiwa dan menentukan titik masuk untuk rutinitas panggilan balik pustaka WMI driver.

Sintaks

typedef struct _WMILIB_CONTEXT {
  ULONG                 GuidCount;
  PWMIGUIDREGINFO       GuidList;
  PWMI_QUERY_REGINFO    QueryWmiRegInfo;
  PWMI_QUERY_DATABLOCK  QueryWmiDataBlock;
  PWMI_SET_DATABLOCK    SetWmiDataBlock;
  PWMI_SET_DATAITEM     SetWmiDataItem;
  PWMI_EXECUTE_METHOD   ExecuteWmiMethod;
  PWMI_FUNCTION_CONTROL WmiFunctionControl;
} WMILIB_CONTEXT, *PWMILIB_CONTEXT;

Anggota

GuidCount

Menentukan jumlah blok yang didaftarkan oleh driver.

GuidList

Penunjuk ke array struktur GuidCountWMIGUIDREGINFO yang berisi informasi pendaftaran untuk setiap blok.

QueryWmiRegInfo

Penunjuk ke rutinitas DpWmiQueryReginfo driver, yang merupakan titik masuk yang diperlukan untuk driver yang memanggil rutinitas dukungan pustaka WMI.

QueryWmiDataBlock

Penunjuk ke rutinitas DpWmiQueryDataBlock driver, yang merupakan titik masuk yang diperlukan untuk driver yang memanggil rutinitas dukungan pustaka WMI.

SetWmiDataBlock

Penunjuk ke rutinitas DpWmiSetDataBlock driver, yang merupakan titik masuk opsional untuk driver yang memanggil rutinitas dukungan pustaka WMI. Jika driver tidak menerapkan rutinitas ini, maka harus mengatur anggota ini ke NULL. Dalam hal ini, WMI mengembalikan STATUS_WMI_READ_ONLY ke pemanggil sebagai respons terhadap permintaan IRP_MN_CHANGE_SINGLE_INSTANCE apa pun.

SetWmiDataItem

Penunjuk ke rutinitas DpWmiSetDataItem driver, yang merupakan titik masuk opsional untuk driver yang memanggil rutinitas dukungan pustaka WMI. Jika driver tidak menerapkan rutinitas ini, maka harus mengatur anggota ini ke NULL. Dalam hal ini, WMI mengembalikan STATUS_WMI_READ_ONLY ke pemanggil sebagai respons terhadap permintaan IRP_MN_CHANGE_SINGLE_ITEM apa pun.

ExecuteWmiMethod

Penunjuk ke rutinitas DpWmiExecuteMethod driver, yang merupakan titik masuk opsional untuk driver yang memanggil rutinitas dukungan pustaka WMI. Jika driver tidak menerapkan rutinitas ini, maka harus mengatur anggota ini ke NULL. Dalam hal ini, WMI mengembalikan STATUS_INVALID_DEVICE_REQUEST ke pemanggil sebagai respons terhadap permintaan IRP_MN_EXECUTE_METHOD apa pun.

WmiFunctionControl

Penunjuk ke rutinitas DpWmiFunctionControl driver, yang merupakan titik masuk opsional untuk driver yang memanggil rutinitas dukungan pustaka WMI. Jika driver tidak menerapkan rutinitas ini, maka harus mengatur anggota ini ke NULL. Dalam hal ini, WMI mengembalikan STATUS_SUCCESS ke pemanggil sebagai respons terhadap permintaan IRP_MN_ENABLE_XXX atau IRP_MN_DISABLE_XXX .

Keterangan

Driver yang menangani RUNP WMI dengan memanggil rutinitas dukungan pustaka WMI menyimpan struktur WMILIB_CONTEXT yang diinisialisasi (atau penunjuk ke struktur seperti itu) dalam ekstensi perangkatnya. Driver dapat menggunakan struktur WMILIB_CONTEXT yang sama untuk beberapa objek perangkat jika setiap objek perangkat menyediakan kumpulan blok data yang sama.

Ketika driver menerima permintaan IRP_MJ_SYSTEM_CONTROL , driver memanggil WmiSystemControl dengan penunjuk ke struktur WMILIB_CONTEXT , penunjuk ke objek perangkatnya, dan penunjuk ke IRP. WmiSystemControl menentukan apakah IRP berisi permintaan WMI dan, jika demikian, menangani permintaan dengan memanggil rutinitas DpWmiXxx yang sesuai dari driver.

Memori untuk struktur ini dapat dialokasikan dari kumpulan halaman.

Persyaratan

Persyaratan Nilai
Header wmilib.h (termasuk Wmilib.h)

Lihat juga

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

WMIGUIDREGINFO

WmiSystemControl