estrutura PEP_QUERY_SOC_SUBSYSTEM (pep_x.h)
A estrutura PEP_QUERY_SOC_SUBSYSTEM é usada pela notificação PEP_DPM_QUERY_SOC_SUBSYSTEM para coletar informações básicas sobre um sistema específico em um subsistema soc (chip).
Sintaxe
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;
Membros
[in] PlatformIdleStateIndex
O índice de estado ocioso da plataforma que está sendo consultado pelo kernel.
[in] SubsystemIndex
O índice do subsistema, que é um índice exclusivo atribuído pelo sistema operacional a cada subsistema dentro do contexto de um determinado PlatformIdleStateIndex.
O kernel inicializa esse valor como zero e o incrementa para cada notificação de informações estáticas do subsistema subsequente. Um valor de 0 significa que é a primeira notificação desse tipo para o PlatformIdleStateIndex fornecido. Esse campo destina-se a fornecer o contexto PEP entre instâncias dessa notificação. É o único campo cujo valor de entrada varia entre instâncias dessa notificação para um determinado PlatformIdleStateIndex e um PEP pode usar esse valor para pesquisar um subsistema.
O PEP pode ignorar esse valor.
[out] SubsystemHandle
Um ponteiro de contexto ao qual o PEP pode, opcionalmente, atribuir um valor. Ele receberá o ponteiro sobre as notificações subsequentes para esse subsistema específico. Em notificações subsequentes, um PEP usa PlatformIdleStateIndex junto com SubsystemName e/ou SubsystemHandle para pesquisar dados contábeis de um subsistema específico.
Por padrão, o valor se esse membro for zero. Esse valor é ignorado pelo sistema operacional e usado apenas em notificações.
O PEP não é necessário para preencher esse membro.
[in/out] ParentName
Um buffer para manter o nome pai do subsistema correspondente. Cada subsistema tem um pai e subsistemas com o mesmo valor para ParentName são considerados irmãos. As hierarquias de irmãos do subsistema são opcionais. Na ausência de qualquer hierarquia, todos os subsistemas são subsistemas de nível superior e especificam um valor comum para ParentName. Para indicar uma hierarquia, os subsistemas de nível superior especificam um ParentName comum, enquanto cada subsistema de nível não superior especifica o SubsystemName do subsistema pai para ParentName.
Antes da entrada, o kernel:
- Pré-alocar 64 WCHARs para ParentName.Buffer[]
- Zero o buffer
- Defina ParentName.MaximumLength como o tamanho do buffer em bytes e
- Definir ParentName.Length = 0
O PEP deve usar a memória alocada apontada pelo endereço em ParentName.Buffer para fornecer o nome pai. Como essa memória é pré-alocada, seu tamanho não pode ser alterado. O PEP é responsável por truncar o nome pai, se necessário, para que ele não exceda o comprimento especificado em ParentName.MaximumLength (incluindo o caractere de UNICODE_NULL de terminação).
[in/out] SubsystemName
Um buffer para manter o nome desse subsistema. Cada subsistema tem um nome de subsistema e SubsystemName deve ser exclusivo entre todos os subsistemas dentro do contexto de um determinado estado ocioso da plataforma. O SubsystemName de um subsistema não pode ser o mesmo que ParentName.
Antes da entrada, o kernel:
- Pré-alocar 64 WCHARs para SubsystemName.Buffer[]
- Zero o buffer
- Defina SubsystemName.MaximumLength como o tamanho do buffer em bytes e
- Definir SubsystemName.Length = 0
O PEP deve usar a memória alocada apontada pelo endereço em SubsystemName.Buffer para fornecer o nome do subsistema. Como essa memória é pré-alocada, seu tamanho não pode ser alterado. O PEP é responsável por truncar o nome do subsistema, se necessário, para que ele não exceda o comprimento especificado em SubsystemName.MaximumLength (incluindo o caractere de UNICODE_NULL de terminação).
[out] MetadataCount
O número de pares de cadeia de caracteres de chave/valor de metadados contados por esse subsistema SoC.
Os metadados são opcionais. O PEP retornará zero se não relatar nenhum metadado para esse subsistema SoC.
Flags
Esse membro é reservado e deve ser definido como zero.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte a partir do Windows 10. |
Cabeçalho | pep_x.h (inclua Pep_x.h) |