Freigeben über


WMILIB_CONTEXT Struktur (wmilib.h)

Die WMILIB_CONTEXT Struktur stellt Registrierungsinformationen für die Datenblöcke und Ereignisblöcke eines Treibers bereit und definiert Einstiegspunkte für die WMI-Bibliotheksrückrufroutinen des Treibers.

Syntax

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;

Angehörige

GuidCount

Gibt die Anzahl der vom Treiber registrierten Blöcke an.

GuidList

Zeiger auf ein Array von GuidCountWMIGUIDREGINFO Strukturen, die Registrierungsinformationen für jeden Block enthalten.

QueryWmiRegInfo

Zeiger auf die DpWmiQueryReginfo Routine des Treibers, die ein erforderlicher Einstiegspunkt für Treiber ist, die WMI-Bibliotheksunterstützungsroutinen aufrufen.

QueryWmiDataBlock

Zeiger auf die DpWmiQueryDataBlock Routine des Treibers, bei der es sich um einen erforderlichen Einstiegspunkt für Treiber handelt, die WMI-Bibliotheksunterstützungsroutinen aufrufen.

SetWmiDataBlock

Zeiger auf die DpWmiSetDataBlock- Routine des Treibers, ein optionaler Einstiegspunkt für Treiber, die WMI-Bibliotheksunterstützungsroutinen aufrufen. Wenn der Treiber diese Routine nicht implementiert, muss dieses Element auf NULL-festgelegt werden. In diesem Fall gibt WMI STATUS_WMI_READ_ONLY als Reaktion auf eine beliebige IRP_MN_CHANGE_SINGLE_INSTANCE Anforderung an den Aufrufer zurück.

SetWmiDataItem

Zeiger auf die DpWmiSetDataItem Routine des Treibers, ein optionaler Einstiegspunkt für Treiber, die WMI-Bibliotheksunterstützungsroutinen aufrufen. Wenn der Treiber diese Routine nicht implementiert, muss dieses Element auf NULL-festgelegt werden. In diesem Fall gibt WMI STATUS_WMI_READ_ONLY als Reaktion auf eine beliebige IRP_MN_CHANGE_SINGLE_ITEM Anforderung an den Aufrufer zurück.

ExecuteWmiMethod

Zeiger auf die DpWmiExecuteMethod Routine des Treibers, ein optionaler Einstiegspunkt für Treiber, die WMI-Bibliotheksunterstützungsroutinen aufrufen. Wenn der Treiber diese Routine nicht implementiert, muss dieses Element auf NULL-festgelegt werden. In diesem Fall gibt WMI STATUS_INVALID_DEVICE_REQUEST als Reaktion auf eine beliebige IRP_MN_EXECUTE_METHOD Anforderung an den Aufrufer zurück.

WmiFunctionControl

Zeiger auf die DpWmiFunctionControl--Routine des Treibers, bei der es sich um einen optionalen Einstiegspunkt für Treiber handelt, die WMI-Bibliotheksunterstützungsroutinen aufrufen. Wenn der Treiber diese Routine nicht implementiert, muss dieses Element auf NULL-festgelegt werden. In diesem Fall gibt WMI STATUS_SUCCESS als Reaktion auf eine IRP_MN_ENABLE_XXX-- oder IRP_MN_DISABLE_XXX--Anforderung an den Aufrufer zurück.

Bemerkungen

Ein Treiber, der WMI-IRPs behandelt, indem WMI-Bibliotheksunterstützungsroutinen aufrufen, speichert eine initialisierte WMILIB_CONTEXT Struktur (oder ein Zeiger auf eine solche Struktur) in der Geräteerweiterung. Ein Treiber kann dieselbe WMILIB_CONTEXT Struktur für mehrere Geräteobjekte verwenden, wenn jedes Geräteobjekt dieselbe Gruppe von Datenblöcken bereitstellt.

Wenn der Treiber eine IRP_MJ_SYSTEM_CONTROL Anforderung empfängt, ruft er WmiSystemControl mit einem Zeiger auf seine WMILIB_CONTEXT Struktur, einen Zeiger auf das Geräteobjekt und einen Zeiger auf das IRP auf. WmiSystemControl bestimmt, ob das IRP eine WMI-Anforderung enthält, und verarbeitet die Anforderung, wenn dies der Richtige DpWmiXxx Routine des Treibers ist.

Speicher für diese Struktur kann aus dem ausgelagerten Pool zugewiesen werden.

Anforderungen

Anforderung Wert
Header- wmilib.h (einschließen Wmilib.h)

Siehe auch

DpWmiExecuteMethod

DpWmiFunctionControl-

DpWmiQueryDataBlock-

DpWmiQueryReginfo

DpWmiSetDataBlock-

DpWmiSetDataItem-

WMIGUIDREGINFO

WmiSystemControl-