struttura PEP_QUERY_SOC_SUBSYSTEM (pep_x.h)
La struttura PEP_QUERY_SOC_SUBSYSTEM viene usata dalla notifica PEP_DPM_QUERY_SOC_SUBSYSTEM per raccogliere informazioni di base su un particolare sistema in un sottosistema SoC (Chip).
Sintassi
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;
Members
[in] PlatformIdleStateIndex
Indice di stato inattiva della piattaforma sottoposto a query dal kernel.
[in] SubsystemIndex
Indice del sottosistema, che è un indice univoco assegnato dal sistema operativo a ogni sottosistema nel contesto di un determinato PlatformIdleStateIndex.
Il kernel inizializza questo valore su zero e lo incrementa per ogni notifica statica del sottosistema successiva. Un valore pari a 0 indica che è la prima notifica di questo tipo per l'oggetto PlatformIdleStateIndex specificato. Questo campo è destinato a fornire il contesto PEP tra istanze di questa notifica. È l'unico campo il cui valore di input varia tra le istanze di questa notifica per una determinata piattaforma PlatformIdleStateIndex e un PEP potrebbe usare questo valore per cercare un sottosistema.
Il PEP può ignorare questo valore.
[out] SubsystemHandle
Puntatore di contesto a cui il PEP può assegnare facoltativamente un valore. Riceverà il puntatore sulle notifiche successive per questo particolare sottosistema. Nelle notifiche successive, un PEP usa PlatformIdleStateIndex insieme a SottosistemName e/o SottosistemAHandle per cercare i dati di contabilità di un particolare sottosistema.
Per impostazione predefinita, il valore se questo membro è zero. Questo valore viene ignorato dal sistema operativo e usato solo nelle notifiche.
Il PEP non è necessario per riempire questo membro.
[in/out] ParentName
Buffer per contenere il nome padre del sottosistema corrispondente. Ogni sottosistema ha un sottosistema padre e con lo stesso valore per ParentName sono considerati fratelli. Le gerarchie di pari livello del sottosistema sono facoltative. In assenza di qualsiasi gerarchia, tutti i sottosistemi sono sottosistemi di primo livello e specificano un valore comune per ParentName. Per indicare una gerarchia, i sottosistemi di primo livello specificano un nome Padre comune mentre ogni sottosistema non di primo livello specifica il sottosistema padre SottosistemaName per ParentName.
Prima della voce, il kernel sarà:
- Pre-allocare 64 WCHAR per ParentName.Buffer[]
- Zero il buffer
- Impostare ParentName.MaximumLength sulle dimensioni del buffer in byte e
- Impostare ParentName.Length = 0
Il PEP deve usare la memoria allocata a cui punta l'indirizzo in ParentName.Buffer per specificare il nome padre. Poiché questa memoria è pre-allocata, le dimensioni non possono essere modificate. Il PEP è responsabile della troncatura del nome padre, se necessario, in modo che non superi la lunghezza specificata in ParentName.MaximumLength (incluso il carattere di terminazione UNICODE_NULL ).
[in/out] SubsystemName
Buffer per contenere il nome del sottosistema. Ogni sottosistema ha un nome del sottosistema e SottosistemaName deve essere univoco tra tutti i sottosistemi nel contesto di uno stato di inattività della piattaforma specificato. Il sottosistema SottosistemaName non può essere uguale a ParentName.
Prima della voce, il kernel sarà:
- Pre-allocare 64 WCHAR per SottosistemaName.Buffer[]
- Zero il buffer
- Impostare SottosistemaName.MaximumLength sulle dimensioni del buffer in byte e
- Impostare SottosistemaName.Length = 0
Il PEP deve usare la memoria allocata a cui punta l'indirizzo in SottosistemaName.Buffer per specificare il nome del sottosistema. Poiché questa memoria è pre-allocata, le dimensioni non possono essere modificate. Il PEP è responsabile della troncazione del nome del sottosistema, se necessario, in modo che non superi la lunghezza specificata in SottosistemaName.MaximumLength (incluso il carattere di terminazione UNICODE_NULL ).
[out] MetadataCount
Numero di coppie di stringhe chiave/valore dei metadati alte da questo sottosistema SoC.
I metadati sono facoltativi. Il PEP restituisce zero se non segnala i metadati per questo sottosistema SoC.
Flags
Questo membro è riservato e deve essere impostato su zero.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato a partire da Windows 10. |
Intestazione | pep_x.h (includere Pep_x.h) |