Freigeben über


IoWMIExecuteMethod-Funktion (wdm.h)

Die IoWMIExecuteMethod Routine führt eine WMI-Klassenmethode für die angegebene WMI-Datenblockinstanz aus.

Syntax

NTSTATUS IoWMIExecuteMethod(
  [in]      PVOID           DataBlockObject,
  [in]      PUNICODE_STRING InstanceName,
  [in]      ULONG           MethodId,
  [in]      ULONG           InBufferSize,
  [in, out] PULONG          OutBufferSize,
  [in, out] PUCHAR          InOutBuffer
);

Parameter

[in] DataBlockObject

Zeiger auf ein WMI-Datenblockobjekt. Der Aufrufer öffnet das Datenblockobjekt für die WMI-Klasse mit IoWMIOpenBlock. Das Objekt muss mit dem WMIGUID_EXECUTE Zugriffsrecht geöffnet werden.

[in] InstanceName

Gibt den Namen der Instanz des Datenblocks an. Dieser Wert entspricht dem Wert der InstanceName-Eigenschaft für den Block.

[in] MethodId

Gibt die Methodenelement-ID für die festzulegende Methode an. Der Wert dieses Parameters entspricht dem in der WmiMethodId Qualifizierer für die Methode deklarierten Wert.

[in] InBufferSize

Gibt die Größe der Eingabedaten für die Methode in Bytes an. Die tatsächlichen Eingabedaten werden im Puffer übergeben, auf den der InOutBuffer Parameter verweist.

[in, out] OutBufferSize

Zeiger auf eine ULONG, die die erwartete Größe( Byte) der Datenausgabe durch die Methode angibt. Die tatsächlichen Ausgabedaten werden im Puffer zurückgegeben, auf den der InOutBuffer Parameter verweist. Wenn die Routine erfolgreich ist, wird der Speicherspeicherort aktualisiert, um die Anzahl der Bytes anzugeben, die tatsächlich in InOutBuffer-gespeichert sind. Wenn die Routine mit STATUS_BUFFER_TOO_SMALL fehlschlägt, gibt sie die Anzahl der Bytes zurück, die zum Zurückgeben der Daten erforderlich sind.

[in, out] InOutBuffer

Zeigen Sie auf den Puffer, in dem der Aufrufer die Eingabedaten der WMI-Methode übergibt, und empfängt die Ausgabedaten der WMI-Methode.

Rückgabewert

Die Routine gibt einen NTSTATUS-Code zurück. Mögliche Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Vorgang war erfolgreich. Die Routine gibt die WMI-Daten im Puffer zurück, auf die vom InOutBuffer Parameter verwiesen wird. Die Routine gibt auch die Größe der zurückgegebenen Daten an der Speicherposition in Byte zurück, auf die der OutBufferSize Parameter verweist.
STATUS_WMI_GUID_NOT_FOUND
Keine Treiber implementieren die WMI-Klasse.
STATUS_WMI_INSTANCE_NOT_FOUND
Kein Treiber implementiert eine Instanz der WMI-Klasse mit InstanceName-eigenschaft dem wert, der im parameter InstanceName angegeben ist.
STATUS_WMI_ITEMID_NOT_FOUND
Die WMI-Klasse enthält keine Methode mit Methoden-ID, die dem Wert von MethodId-entspricht.
STATUS_BUFFER_TOO_SMALL
Der vom Aufrufer im OutBuffer Parameter übergebene Puffer ist zu klein. Die Routine gibt die erforderliche Puffergröße im Speicherspeicherort zurück, auf den der InOutBufferSize Parameter verweist.
STATUS_WMI_GUID_DISCONNECTED
Die WMI-GUID ist nicht mehr verfügbar oder war nie verfügbar.

Bemerkungen

IoWMIExecuteMethod bestimmt, welche Treiber den angegebenen WMI-Klassen- und Instanznamen unterstützen können. Es gibt eine IRP_MN_EXECUTE_METHOD Anforderung an jeden solchen Treiber aus. Der Treiber, der die Datenblockinstanz mit übereinstimmenden InstanceName-Eigenschaft exportiert, führt dann die angegebene WMI-Methode aus.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows XP und höheren Versionen des Windows-Betriebssystems.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

IRP_MN_EXECUTE_METHOD

IoWMIOpenBlock-