IoWMIQuerySingleInstance-Funktion (wdm.h)
Die IoWMIQuerySingleInstance-Routine gibt die angegebene instance eines WMI-Datenblocks zurück.
Syntax
NTSTATUS IoWMIQuerySingleInstance(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in, out] PULONG InOutBufferSize,
[out, optional] PVOID OutBuffer
);
Parameter
[in] DataBlockObject
Zeiger auf ein WMI-Datenblockobjekt. Der Aufrufer öffnet das Datenblockobjekt für die WMI-Klasse mit der IoWMIOpenBlock-Routine . Das Objekt muss mit dem Zugriffsrecht WMIGUID_QUERY 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, out] InOutBufferSize
Zeiger auf einen Speicherort, der die Größe des Puffers angibt, der im OutBuffer-Parameter übergeben wird. Wenn die Routine erfolgreich ist, wird der Speicherort des Arbeitsspeichers aktualisiert, um die Anzahl der tatsächlich in OutBuffer gespeicherten Bytes anzugeben. Wenn die Routine mit status Code von STATUS_BUFFER_TOO_SMALL fehlschlägt, gibt sie die Anzahl der Bytes zurück, die zum Zurückgeben der Daten erforderlich sind.
[out, optional] OutBuffer
Zeiger auf den Puffer, in dem die Routine die WMI-Daten zurückgibt. Die Routine gibt eine WNODE_SINGLE_INSTANCE Struktur mit variabler Größe zurück. OutBuffer muss auf einen Puffer verweisen, der aus einem nicht auslagerten Pool zugeordnet ist.
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 OutBuffer-Parameter verweist. Die Routine gibt auch die Größe der zurückgegebenen Daten in Bytes am Speicherort zurück, auf den der InOutBufferSize-Parameter verweist. |
|
Keine Treiber implementieren die angegebene WMI-Klasse. |
|
Kein Treiber implementiert eine instance der WMI-Klasse mit der InstanceName-Eigenschaft, die dem im InstanceName-Parameter angegebenen Wert 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. |
Hinweise
IoWMIQuerySingleInstance bestimmt, welche Treiber die angegebene WMI-Klasse mit dem angegebenen instance Namen unterstützen können, und gibt eine IRP_MN_QUERY_SINGLE_INSTANCE-Anforderung an jeden solchen Treiber aus. Der Treiber, der den Datenblock exportiert, instance mit der übereinstimmenden InstanceName-Eigenschaft exportiert, gibt die entsprechenden Daten zurück.
Verwenden Sie die IoWMIQuerySingleInstanceMultiple-Routine, um mehrere WMI-Klassen und instance Namen abzufragen. Treiber können die IoWMISetSingleInstance-Routine verwenden, um die Klasse instance zu aktualisieren.
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 |