structure PEP_QUERY_SOC_SUBSYSTEM (pep_x.h)
La structure PEP_QUERY_SOC_SUBSYSTEM est utilisée par la notification PEP_DPM_QUERY_SOC_SUBSYSTEM pour collecter des informations de base sur un système particulier sur un sous-système de puce (SoC).
Syntaxe
typedef struct _PEP_QUERY_SOC_SUBSYSTEM {
[in] ULONG PlatformIdleStateIndex;
[in] ULONG SubsystemIndex;
[out] PVOID SubsystemHandle;
[in/out] UNICODE_STRING ParentName;
[in/out] UNICODE_STRING SubsystemName;
[out] ULONG MetadataCount;
ULONG Flags;
} PEP_QUERY_SOC_SUBSYSTEM, *PPEP_QUERY_SOC_SUBSYSTEM;
Membres
[in] PlatformIdleStateIndex
Index d’état inactif de la plateforme interrogé par le noyau.
[in] SubsystemIndex
Index du sous-système, qui est un index unique attribué par le système d’exploitation à chaque sous-système dans le contexte d’un PlatformIdleStateIndex donné.
Le noyau initialise cette valeur à zéro et l’incrémente pour chaque notification d’informations statiques du sous-système suivante. La valeur 0 signifie qu’il s’agit de la première notification de ce type pour la PlatformIdleStateIndex donnée. Ce champ est destiné à donner le contexte PEP entre les instances de cette notification. Il s’agit du seul champ dont la valeur d’entrée varie selon les instances de cette notification pour une PlatformIdleStateIndex donnée et un pep peut utiliser cette valeur pour rechercher un sous-système.
Le pep peut ignorer cette valeur.
[out] SubsystemHandle
Pointeur de contexte auquel le PEP peut éventuellement affecter une valeur. Il reçoit le pointeur sur les notifications suivantes pour ce sous-système particulier. Dans les notifications suivantes, un PEP utilise PlatformIdleStateIndex avec SubsystemName et/ou SubsystemHandle pour rechercher les données comptables d’un sous-système particulier.
Par défaut, la valeur si ce membre est égal à zéro. Cette valeur est ignorée par le système d’exploitation et utilisée uniquement dans les notifications.
Le PEP n’est pas requis pour remplir ce membre.
[in/out] ParentName
Mémoire tampon pour conserver le nom parent du sous-système correspondant. Chaque sous-système a un parent et des sous-systèmes ayant la même valeur pour ParentName sont considérés comme frères. Les hiérarchies frères du sous-système sont facultatives. En l’absence de hiérarchie, tous les sous-systèmes sont des sous-systèmes de niveau supérieur et spécifient une valeur commune pour ParentName. Pour indiquer une hiérarchie, les sous-systèmes de niveau supérieur spécifient un ParentName commun tandis que chaque sous-système de niveau supérieur spécifie le sous-système Sous-système parent pour ParentName.
Avant l’entrée, le noyau :
- Pré-allocation de 64 WCHAR pour ParentName.Buffer[]
- Zéro de la mémoire tampon
- Définissez ParentName.MaximumLength sur la taille de la mémoire tampon en octets et
- Définir ParentName.Length = 0
Le pep doit utiliser la mémoire allouée pointée par l’adresse dans ParentName.Buffer pour fournir le nom parent. Étant donné que cette mémoire est pré-allouée, sa taille ne peut pas être modifiée. Le pep est chargé de tronquer le nom parent, si nécessaire, afin qu’il ne dépasse pas la longueur spécifiée dans ParentName.MaximumLength (y compris la fin UNICODE_NULL caractère).
[in/out] SubsystemName
Mémoire tampon pour contenir le nom de ce sous-système. Chaque sous-système a un nom de sous-système et Nom_sous-système doit être unique parmi tous les sous-systèmes dans le contexte d’un état inactif de plateforme donné. Le nom du sous-système Sous-système ne peut pas être identique à ParentName.
Avant l’entrée, le noyau :
- Pré-allocation de 64 WCHAR pour SubsystemName.Buffer[]
- Zéro de la mémoire tampon
- Définissez SubsystemName.MaximumLength sur la taille de la mémoire tampon en octets et
- Définir SubsystemName.Length = 0
Le pep doit utiliser la mémoire allouée pointée par l’adresse dans SubsystemName.Buffer pour fournir le nom du sous-système. Étant donné que cette mémoire est pré-allouée, sa taille ne peut pas être modifiée. Le pep est chargé de tronquer le nom du sous-système, si nécessaire, afin qu’il ne dépasse pas la longueur spécifiée dans SubsystemName.MaximumLength (y compris le caractère de fin UNICODE_NULL).
[out] MetadataCount
Nombre de paires de chaînes clé/valeur de métadonnées associées par ce sous-système SoC.
Les métadonnées sont facultatives. Le pep retourne zéro s’il ne signale aucune métadonnées pour ce sous-système SoC.
Flags
Ce membre est réservé et doit être défini sur zéro.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge à partir de Windows 10. |
d’en-tête | pep_x.h (inclure Pep_x.h) |