PEP_QUERY_SOC_SUBSYSTEM Struktur (pep_x.h)
Die PEP_QUERY_SOC_SUBSYSTEM-Struktur wird von der PEP_DPM_QUERY_SOC_SUBSYSTEM Benachrichtigung verwendet, um grundlegende Informationen zu einem bestimmten System-on-a-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;
Member
[in] PlatformIdleStateIndex
Der Plattform-Leerlaufstatusindex, der vom Kernel abgefragt wird.
[in] SubsystemIndex
Der Subsystemindex, bei dem es sich um einen eindeutigen Index handelt, der vom Betriebssystem jedem Subsystem im Kontext eines bestimmten PlatformIdleStateIndex zugewiesen ist.
Der Kernel initialisiert diesen Wert auf Null und erhöht ihn für jede nachfolgende Benachrichtigung zu statischen Subsysteminformationen. Der Wert 0 bedeutet, dass es sich um die erste solche Benachrichtigung für den angegebenen PlatformIdleStateIndex handelt. Dieses Feld soll den PEP-Kontext zwischen Instanzen dieser Benachrichtigung angeben. Es ist das einzige Feld, dessen Eingabewert für eine bestimmte PlatformIdleStateIndex-Instanz von Instanz zu Benachrichtigung variiert, und ein PEP kann diesen Wert verwenden, um ein Subsystem zu suchen.
Der PEP kann diesen Wert ignorieren.
[out] SubsystemHandle
Ein Kontextzeiger, dem pep optional einen Wert zuweisen kann. Er empfängt den Zeiger auf nachfolgende Benachrichtigungen für dieses bestimmte Subsystem. In nachfolgenden Benachrichtigungen verwendet ein PEP PlatformIdleStateIndex zusammen mit SubsystemName und/oder SubsystemHandle , um die Abrechnungsdaten eines bestimmten Subsystems zu suchen.
Standardmäßig der Wert, wenn dieser Member 0 ist. Dieser Wert wird vom Betriebssystem ignoriert und nur in Benachrichtigungen verwendet.
Der PEP ist nicht erforderlich, um dieses Element auszufüllen.
[in/out] ParentName
Ein Puffer zum Speichern des übergeordneten Namens des entsprechenden Subsystems. Jedes Subsystem verfügt über ein übergeordnetes Element, und Subsysteme mit dem gleichen Wert für ParentName gelten als gleichgeordnet. Untergeordnete Subsystemhierarchien sind optional. Wenn keine Hierarchie vorhanden ist, sind alle Subsysteme der obersten Ebene und geben einen gemeinsamen Wert für ParentName an. Um eine Hierarchie anzugeben, geben Subsysteme der obersten Ebene einen gemeinsamen ParentName an, während jedes Subsystem der obersten Ebene den Subsystemname des übergeordneten Subsystems für ParentName angibt.
Vor der Eingabe führt der Kernel Folgendes aus:
- Vorabzuweisung von 64 WCHARs für ParentName.Buffer[]
- Puffer null
- Legen Sie ParentName.MaximumLength auf die Größe des Puffers in Bytes fest, und
- Festlegen von ParentName.Length = 0
Der PEP muss den zugewiesenen Arbeitsspeicher verwenden, auf den die Adresse in ParentName.Buffer verweist, um den übergeordneten Namen anzugeben. Da dieser Arbeitsspeicher vorab zugewiesen ist, kann seine Größe nicht geändert werden. Das 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 beendenden UNICODE_NULL Zeichens).
[in/out] SubsystemName
Ein Puffer zum Speichern des Namens dieses Subsystems. Jedes Subsystem hat einen Subsystemnamen, und SubsystemName muss für alle Subsysteme innerhalb des Kontexts eines bestimmten Plattform-Leerlaufzustands eindeutig sein. SubsystemName eines Subsystems kann nicht mit ParentName identisch sein.
Vor der Eingabe führt der Kernel Folgendes aus:
- Vorabzuweisung von 64 WCHARs für SubsystemName.Buffer[]
- Puffer null
- Legen Sie SubsystemName.MaximumLength auf die Größe des Puffers in Bytes fest, und
- Festlegen von SubsystemName.Length = 0
Der PEP muss den zugeordneten Arbeitsspeicher verwenden, auf den die Adresse in SubsystemName.Buffer verweist, um den Subsystemnamen anzugeben. Da dieser Arbeitsspeicher vorab zugewiesen ist, kann seine Größe nicht geändert werden. Der PEP ist für das Abschneiden des Subsystemnamens verantwortlich, falls erforderlich, sodass er die in SubsystemName.MaximumLength angegebene Länge nicht überschreitet (einschließlich des beendenden UNICODE_NULL Zeichens).
[out] MetadataCount
Die Anzahl der Metadatenschlüssel-Wert-Zeichenfolgenpaare, die von diesem SoC-Subsystem erfasst werden.
Metadaten sind optional. Pep gibt null zurück, wenn keine Metadaten für dieses SoC-Subsystem gemeldet werden.
Flags
Dieser Member ist reserviert und sollte auf null festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Wird ab Windows 10 unterstützt. |
Kopfzeile | pep_x.h (einschließlich Pep_x.h) |