estructura PEP_QUERY_SOC_SUBSYSTEM (pep_x.h)
El de 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 consulta 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 posterior. 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 opcionalmente un valor. Recibirá el puntero sobre las notificaciones posteriores de este subsistema en particular. En las notificaciones posteriores, un PEP usa platformIdleStateIndex junto con SubsystemName o SubsystemHandle para buscar datos contables 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 subsistema con el mismo valor para ParentName se consideran elementos del mismo nivel. Las jerarquías del mismo nivel del subsistema 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 común ParentName, mientras que cada subsistema que no es de nivel superior especifica el SubsystemName del 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 en 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 UNICODE_NULL de terminación).
[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. El 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 (incluido el carácter de UNICODE_NULL de terminación).
[out] MetadataCount
Número de pares de cadena de clave y valor de metadatos talliados 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 | Valor |
---|---|
cliente mínimo admitido | Se admite a partir de Windows 10. |
encabezado de | pep_x.h (incluya Pep_x.h) |
Consulte también
de notificación de PEP_DPM_QUERY_SOC_SUBSYSTEM