PEP_QUERY_SOC_SUBSYSTEM Struktur (pep_x.h)
Die PEP_QUERY_SOC_SUBSYSTEM Struktur wird vom PEP_DPM_QUERY_SOC_SUBSYSTEM Benachrichtigungs- verwendet, um grundlegende Informationen zu einem bestimmten System auf einem Chip-Subsystem (SoC) zu sammeln.
Syntax
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;
Angehörige
[in] PlatformIdleStateIndex
Der Idle-Statusindex der Plattform, der vom Kernel abgefragt wird.
[in] SubsystemIndex
Der Subsystemindex, ein eindeutiger Index, der vom Betriebssystem jedem Subsystem im Kontext eines bestimmten PlatformIdleStateIndexzugewiesen wird.
Der Kernel initialisiert diesen Wert auf Null und erhöht ihn für jede nachfolgende statische Informationsbenachrichtigung des Subsystems. Ein Wert von 0 bedeutet, dass es die erste solche Benachrichtigung für die angegebene PlatformIdleStateIndex-ist. Dieses Feld soll den PEP-Kontext zwischen Instanzen dieser Benachrichtigung angeben. Es handelt sich um das einzige Feld, dessen Eingabewert in verschiedenen Instanzen dieser Benachrichtigung für eine bestimmte PlatformIdleStateIndex- variiert, und ein PEP kann diesen Wert verwenden, um ein Subsystem nachzuschlagen.
Der PEP kann diesen Wert ignorieren.
[out] SubsystemHandle
Ein Kontextzeiger, dem der PEP optional einen Wert zuweisen kann. Er erhält den Zeiger zu nachfolgenden Benachrichtigungen für dieses bestimmte Subsystem. In nachfolgenden Benachrichtigungen verwendet ein PEP PlatformIdleStateIndex- zusammen mit SubsystemName und/oder SubsystemHandle-, um die Buchhaltungsdaten eines bestimmten Subsystems nachzuschlagen.
Standardmäßig ist der Wert, wenn dieses Element null ist. Dieser Wert wird vom Betriebssystem ignoriert und nur in Benachrichtigungen verwendet.
Der PEP ist nicht erforderlich, um dieses Mitglied auszufüllen.
[in/out] ParentName
Ein Puffer zum Halten des übergeordneten Namens des entsprechenden Subsystems. Jedes Subsystem verfügt über ein übergeordnetes Element und Subsysteme mit demselben Wert für ParentName- werden als gleichgeordnet eingestuft. Gleichgeordnete Subsystemhierarchien sind optional. Wenn keine Hierarchie vorhanden ist, sind alle Subsysteme Teilsysteme der obersten Ebene und geben einen gemeinsamen Wert für ParentName-an. Um eine Hierarchie anzugeben, geben Subsysteme auf oberster Ebene eine allgemeine ParentName- an, während jedes Subsystem auf nicht oberster Ebene das SubsystemName- für ParentName-angibt.
Vor der Eingabe wird der Kernel:
- Vorabzuweisung von 64 WCHARs für ParentName.Buffer[]
- Null des Puffers
- Legen Sie ParentName.MaximumLength- auf die Größe des Puffers in Bytes fest, und
- Festlegen ParentName.Length = 0
Der PEP muss den zugewiesenen Speicher verwenden, auf den die Adresse in ParentName.Buffer verweist, um den übergeordneten Namen anzugeben. Da dieser Speicher bereits zugeordnet ist, kann seine Größe nicht geändert werden. Der PEP ist für das Abschneiden des übergeordneten Namens verantwortlich, falls erforderlich, damit er die in ParentName.MaximumLength- angegebene Länge nicht überschreitet (einschließlich des endierenden UNICODE_NULL Zeichens).
[in/out] SubsystemName
Ein Puffer für den Namen dieses Subsystems. Jedes Subsystem hat einen Subsystemnamen und SubsystemName muss zwischen allen Subsystemen im Kontext eines bestimmten Plattform-Leerlaufzustands eindeutig sein. Das SubsystemName- eines Subsystems kann nicht mit ParentName-identisch sein.
Vor der Eingabe wird der Kernel:
- Vorabzuweisung von 64 WCHARs für SubsystemName.Buffer[]
- Null des Puffers
- Legen Sie SubsystemName.MaximumLength- auf die Größe des Puffers in Bytes fest, und
- Set SubsystemName.Length = 0
Der PEP muss den zugewiesenen Speicher verwenden, auf den die Adresse in SubsystemName.Buffer verweist, um den Subsystemnamen anzugeben. Da dieser Speicher bereits zugeordnet ist, kann seine Größe nicht geändert werden. Der PEP ist für das Abschneiden des Subsystemnamens verantwortlich, falls erforderlich, damit er die in SubsystemName.MaximumLength angegebene Länge nicht überschreitet (einschließlich des endenden UNICODE_NULL Zeichens).
[out] MetadataCount
Die Anzahl der Metadatenschlüssel-Wert-Zeichenfolgenpaare, die von diesem SoC-Subsystem hochgezählt werden.
Metadaten sind optional. Der PEP gibt null zurück, wenn er keine Metadaten für dieses SoC-Subsystem meldet.
Flags
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Wird ab Windows 10 unterstützt. |
Header- | pep_x.h (einschließen Pep_x.h) |