Fonction IoGetContainerInformation (wdm.h)

La routine IoGetContainerInformation fournit des informations sur l’état actuel d’une session utilisateur.

Syntaxe

NTSTATUS IoGetContainerInformation(
  [in]           IO_CONTAINER_INFORMATION_CLASS InformationClass,
  [in, optional] PVOID                          ContainerObject,
  [in, out]      PVOID                          Buffer,
  [in]           ULONG                          BufferLength
);

Paramètres

[in] InformationClass

Spécifie la classe d’événements pour laquelle l’appelant (pilote) demande des informations. Définissez ce paramètre sur la valeur d’énumération IO_CONTAINER_INFORMATION_CLASS suivante :

  • IoSessionStateInformation
Pour plus d'informations, consultez la section Notes qui suit.

[in, optional] ContainerObject

Pointeur vers un objet système opaque fourni par le gestionnaire d’E/S. Pour InformationClass = IoSessionStateInformation, définissez ce paramètre sur la valeur du paramètre SessionObject fournie par le gestionnaire d’E/S pendant l’appel à la fonction IO_SESSION_NOTIFICATION_FUNCTION du pilote.

[in, out] Buffer

Pointeur vers une mémoire tampon allouée à l’appelant dans laquelle cette routine écrit les informations d’état pour la classe d’événements spécifiée par InformationClass. Pour InformationClass = IoSessionStateInformation, la routine écrit une structure IO_SESSION_STATE_INFORMATION dans la mémoire tampon. La mémoire tampon doit être suffisamment grande pour contenir cette structure.

[in] BufferLength

Taille, en octets, de la mémoire tampon pointée par Buffer. Pour InformationClass = IoSessionStateInformation, BufferLength doit être au moins sizeof(IO_SESSION_STATE_INFORMATION).

Valeur retournée

IoGetContainerInformation retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles sont les suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER_1
Le paramètre InformationClass n’est pas une constante d’énumération IO_CONTAINER_INFORMATION_CLASS valide.
STATUS_INVALID_PARAMETER_2
Le paramètre ContainerObject a la valeur NULL.
STATUS_INVALID_PARAMETER_4
Le paramètre BufferLength est trop petit pour la classe d’informations spécifiée par InformationClass.

Remarques

Cette routine peut potentiellement prendre en charge les requêtes pour diverses classes d’informations. Dans Windows 7, cette routine prend en charge uniquement les requêtes pour les informations IoSessionStateInformation, qui sont status informations sur les sessions utilisateur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 7 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, Fltkernel.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

IO_CONTAINER_INFORMATION_CLASS

IO_CONTAINER_NOTIFICATION_CLASS

IO_SESSION_STATE_INFORMATION