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 |
---|---|
|
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. |
|
Keine Treiber implementieren die WMI-Klasse. |
|
Kein Treiber implementiert eine Instanz der WMI-Klasse mit InstanceName-eigenschaft dem wert, der im parameter InstanceName angegeben ist. |
|
Die WMI-Klasse enthält keine Methode mit Methoden-ID, die dem Wert von MethodId-entspricht. |
|
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. |
|
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 |