estructura PEP_QUERY_SOC_SUBSYSTEM (pepfx.h)
La notificación de PEP_DPM_QUERY_SOC_SUBSYSTEM usa la estructura PEP_QUERY_SOC_SUBSYSTEM para recopilar información básica sobre un sistema determinado en un subsistema de chip (SoC).
Sintaxis
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;
Miembros
[in] PlatformIdleStateIndex
Índice de estado inactivo de la plataforma que está consultando el kernel.
[in] SubsystemIndex
Índice del subsistema, que es un índice único asignado por el sistema operativo a cada subsistema dentro del contexto de un platformIdleStateIndex determinado.
El kernel inicializa este valor en cero e lo incrementa para cada notificación de información estática del subsistema subsiguiente. Un valor de 0 significa que es la primera notificación para el platformIdleStateIndex especificado. Este campo está pensado para proporcionar el contexto PEP entre instancias de esta notificación. Es el único campo cuyo valor de entrada varía en todas las instancias de esta notificación para un platformIdleStateIndex determinado y un PEP podría usar este valor para buscar un subsistema.
El PEP puede omitir este valor.
[out] SubsystemHandle
Puntero de contexto al que el PEP puede asignar un valor opcionalmente. Recibirá el puntero en las notificaciones posteriores de este subsistema en particular. En las notificaciones posteriores, un PEP usa PlatformIdleStateIndex junto con SubsystemName o SubsystemHandle para buscar los datos de contabilidad de un subsistema determinado.
De forma predeterminada, el valor si este miembro es cero. El sistema operativo omite este valor y solo se usa en las notificaciones.
El PEP no es necesario para rellenar este miembro.
[in/out] ParentName
Búfer para contener el nombre primario del subsistema correspondiente. Cada subsistema tiene un elemento primario y subsistemas con el mismo valor para ParentName se consideran elementos del mismo nivel. Las jerarquías del subsistema del mismo nivel son opcionales. En ausencia de cualquier jerarquía, todos los subsistemas son subsistemas de nivel superior y especifican un valor común para ParentName. Para indicar una jerarquía, los subsistemas de nivel superior especifican un parentName común, mientras que cada subsistema de nivel no superior especifica el SubsystemName de su subsistema primario para ParentName.
Antes de la entrada, el kernel hará lo siguiente:
- Asignar previamente 64 WCHAR para ParentName.Buffer[]
- Cero el búfer
- Establezca ParentName.MaximumLength en el tamaño del búfer en bytes y
- Establecer ParentName.Length = 0
El PEP debe usar la memoria asignada a la que apunta la dirección de ParentName.Buffer para proporcionar el nombre primario. Dado que esta memoria está asignada previamente, no se puede cambiar su tamaño. El PEP es responsable de truncar el nombre primario, si es necesario, para que no supere la longitud especificada en ParentName.MaximumLength (incluido el carácter de terminación UNICODE_NULL ).
[in/out] SubsystemName
Búfer para contener el nombre de este subsistema. Cada subsistema tiene un nombre de subsistema y SubsystemName debe ser único entre todos los subsistemas dentro del contexto de un estado inactivo de plataforma determinado. SubsystemName de un subsistema no puede ser el mismo que ParentName.
Antes de la entrada, el kernel hará lo siguiente:
- Asignar previamente 64 WCHAR para SubsystemName.Buffer[]
- Cero el búfer
- Establezca SubsystemName.MaximumLength en el tamaño del búfer en bytes y
- Establecer SubsystemName.Length = 0
El PEP debe usar la memoria asignada a la que apunta la dirección de SubsystemName.Buffer para proporcionar el nombre del subsistema. Dado que esta memoria está asignada previamente, no se puede cambiar su tamaño. El PEP es responsable de truncar el nombre del subsistema, si es necesario, para que no supere la longitud especificada en SubsystemName.MaximumLength (incluida la terminación UNICODE_NULL carácter).
[out] MetadataCount
El número de pares de cadena clave-valor de metadatos tallied por este subsistema soC.
Los metadatos son opcionales. El PEP devuelve cero si no notifica ningún metadato para este subsistema SoC.
Flags
Este miembro está reservado y debe establecerse en cero.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite a partir de Windows 10. |
Encabezado | pepfx.h (include Pep_x.h) |