IoWMIExecuteMethod-Funktion (wdm.h)
Die IoWMIExecuteMethod-Routine führt eine WMI-Klassenmethode für den angegebenen WMI-Datenblock instance 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 zugriffsrecht WMIGUID_EXECUTE geöffnet werden.
[in] InstanceName
Gibt den Namen des instance 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 Wert, der im WmiMethodId-Qualifizierer für die -Methode deklariert ist.
[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 (Bytes) der von der -Methode ausgegebenen Daten angibt. Die tatsächlichen Ausgabedaten werden im Puffer zurückgegeben, auf den der InOutBuffer-Parameter verweist. Wenn die Routine erfolgreich ist, wird der Speicherort des Arbeitsspeichers aktualisiert, um die Anzahl der tatsächlich in InOutBuffer gespeicherten Bytes anzugeben. 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
Zeiger auf den Puffer, an den der Aufrufer die Eingabedaten der WMI-Methode übergibt und die Ausgabedaten der WMI-Methode empfängt.
Rückgabewert
Die Routine gibt einen NTSTATUS-Code zurück. Mögliche Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich ausgeführt. Die Routine gibt die WMI-Daten im Puffer zurück, auf den der InOutBuffer-Parameter verweist. Die Routine gibt auch die Größe der zurückgegebenen Daten am Speicherort zurück, auf den der OutBufferSize-Parameter verweist. |
|
Keine Treiber implementieren die WMI-Klasse. |
|
Kein Treiber implementiert eine instance der WMI-Klasse mit der InstanceName-Eigenschaft, die dem im InstanceName-Parameter angegebenen Wert entspricht. |
|
Die WMI-Klasse enthält keine Methode, deren Methoden-ID dem Wert von MethodId entspricht. |
|
Der vom Aufrufer im OutBuffer-Parameter übergebene Puffer ist zu klein. Die Routine gibt die erforderliche Puffergröße am Speicherort zurück, auf den der InOutBufferSize-Parameter verweist. |
|
Die WMI-GUID ist nicht mehr verfügbar oder war nie verfügbar. |
Hinweise
IoWMIExecuteMethod bestimmt, welche Treiber die angegebene WMI-Klasse und instance Namen unterstützen. An jeden dieser Treiber wird eine IRP_MN_EXECUTE_METHOD-Anforderung gestellt. Der Treiber, der den Datenblock exportiert, instance mit der übereinstimmenden InstanceName-Eigenschaft exportiert, führt dann die angegebene WMI-Methode aus.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows XP und höheren Versionen des Windows-Betriebssystems. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |