Fonction IoWMIQueryAllData (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 la mémoire pour spécifier le nombre d’octets réellement stockés dans OutBuffer. Si la routine échoue avec status code 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 WNODE_ALL_DATA de taille variable, une pour chaque ensemble de blocs de données retournés. Le membre WnodeHeader.Linkage de chaque structure WNODE_ALL_DATA contient le décalage entre le début de la WNODE_ALL_DATA actuelle et le début de la WNODE_ALL_DATA suivante. Le dernier bloc de la chaîne a WnodeHeader.Linkage défini sur zéro. OutBuffer doit pointer vers une mémoire tampon allouée à partir d’un pool non paginé.
Valeur retournée
La routine retourne un code NTSTATUS. Les valeurs de retour possibles sont les suivantes :
Code de retour | Description |
---|---|
|
L’opération a réussi. La routine retourne les données WMI dans la mémoire tampon pointée par le paramètre OutBuffer . La routine retourne également la taille, en octets, des données retournées dans 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 pointé par 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows XP et versions ultérieures du système d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |