IoWMIQueryAllData, fonction (wdm.h)
La routine IoWMIQueryAllData retourne tous les blocs de données WMI qui implémentent une classe WMI donnée.
Syntaxe
NTSTATUS IoWMIQueryAllData(
[in] PVOID DataBlockObject,
[in, out] PULONG InOutBufferSize,
[out, optional] PVOID OutBuffer
);
Paramètres
[in] DataBlockObject
Pointeur vers un objet de bloc de données WMI. L’appelant ouvre l’objet de bloc de données pour la classe WMI avec la routine IoWMIOpenBlock. L’objet doit être ouvert avec le droit d’accès WMIGUID_QUERY.
[in, out] InOutBufferSize
Pointeur vers un emplacement de mémoire qui spécifie la taille de la mémoire tampon passée dans le paramètre OutBuffer. Si la routine réussit, elle met à jour l’emplacement de mémoire pour spécifier le nombre d’octets réellement stockés dans OutBuffer. Si la routine échoue avec le code d’état de STATUS_BUFFER_TOO_SMALL, elle retourne le nombre d’octets requis pour retourner les données.
[out, optional] OutBuffer
Pointeur vers la mémoire tampon où la routine retourne les données WMI. La routine retourne une séquence de structures de WNODE_ALL_DATA de taille variable, une pour chaque ensemble de blocs de données retournés. Le WnodeHeader.Binding membre de chaque structure WNODE_ALL_DATA contient le décalage entre le début du WNODE_ALL_DATA actuel et le début de la WNODE_ALL_DATAsuivante. Le bloc final de la chaîne a WnodeHeader.Binding défini sur zéro. OutBuffer devez pointer vers une mémoire tampon allouée à partir d’un pool non paginé.
Valeur de retour
La routine retourne un code NTSTATUS. Les valeurs de retour possibles sont les suivantes :
Retourner le code | Description |
---|---|
|
L’opération a réussi. La routine retourne les données WMI dans la mémoire tampon pointées par le paramètre OutBuffer. La routine retourne également la taille, en octets, des données retournées à l’emplacement de mémoire pointé par le paramètre InOutBufferSize. |
|
Aucun pilote n’implémente la classe WMI spécifiée. |
|
La mémoire tampon passée par l’appelant dans le paramètre OutBuffer est trop petite. La routine retourne la taille de mémoire tampon requise dans l’emplacement mémoire vers lequel pointe le paramètre InOutBufferSize. |
Remarques
IoWMIQueryAllData détermine les pilotes qui prennent en charge la classe WMI spécifiée et émet une demande de IRP_MN_QUERY_ALL_DATA à chaque pilote de ce type.
Pour rechercher plusieurs classes WMI, utilisez IoWMIQueryAllDataMultiple.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Microsoft Windows XP et versions ultérieures du système d’exploitation Windows. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |