PEP_QUERY_SOC_SUBSYSTEM 구조체(pepfx.h)
PEP_QUERY_SOC_SUBSYSTEM 구조는 PEP_DPM_QUERY_SOC_SUBSYSTEM 알림 사용하여 칩(SoC) 하위 시스템의 특정 시스템에 대한 기본 정보를 수집합니다.
통사론
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;
회원
[in] PlatformIdleStateIndex
커널에서 쿼리하는 플랫폼 유휴 상태 인덱스입니다.
[in] SubsystemIndex
지정된 PlatformIdleStateIndex컨텍스트 내에서 OS가 각 하위 시스템에 할당한 고유 인덱스인 하위 시스템 인덱스입니다.
커널은 이 값을 0으로 초기화하고 이후의 각 하위 시스템 정적 정보 알림에 대해 증분합니다. 값이 0이면 지정된 PlatformIdleStateIndex대한 첫 번째 알림입니다. 이 필드는 이 알림의 인스턴스 간에 PEP 컨텍스트를 제공하기 위한 것입니다. 지정된 PlatformIdleStateIndex 대해 이 알림의 인스턴스마다 입력 값이 달라지는 유일한 필드이며 PEP는 이 값을 사용하여 하위 시스템을 조회할 수 있습니다.
PEP는 이 값을 무시할 수 있습니다.
[out] SubsystemHandle
PEP에서 필요에 따라 값을 할당할 수 있는 컨텍스트 포인터입니다. 이 특정 하위 시스템에 대한 후속 알림에 대한 포인터를 받게 됩니다. 이후 알림에서 PEP는 SubsystemName 및/또는 SubsystemHandle 함께 PlatformIdleStateIndex 사용하여 특정 하위 시스템의 회계 데이터를 조회합니다.
이 멤버가 0인 경우 기본적으로 값입니다. 이 값은 OS에서 무시되며 알림에서만 사용됩니다.
이 멤버를 채우려면 PEP가 필요하지 않습니다.
[in/out] ParentName
해당 하위 시스템의 부모 이름을 보유하기 위한 버퍼입니다. 각 하위 시스템에는 부모 및 하위 시스템이 있으며 ParentName 동일한 값이 형제로 간주됩니다. 하위 시스템 형제 계층은 선택 사항입니다. 계층 구조가 없는 경우 모든 하위 시스템은 최상위 하위 시스템이며 ParentName공통 값을 지정합니다. 계층 구조를 나타내기 위해 최상위 하위 시스템은 공통 ParentName 지정하고 상위 하위 시스템은 상위 하위 시스템의 SubsystemNameParentName지정합니다.
입력하기 전에 커널은 다음을 수행합니다.
- ParentName.Buffer[] 64 WCHAR 미리 할당
- 버퍼 0
- ParentName.MaximumLength 버퍼 크기(바이트)로 설정하고
- ParentName.Length = 0설정합니다.
PEP는 부모 이름을 제공하려면 ParentName.Buffer 주소에서 가리키는 할당된 메모리를 사용해야 합니다. 이 메모리는 미리 할당되므로 크기를 변경할 수 없습니다. PEP는 필요한 경우 부모 이름을 잘리므로 ParentName.MaximumLength 지정된 길이(종료 UNICODE_NULL 문자 포함)를 초과하지 않습니다.
[in/out] SubsystemName
이 하위 시스템의 이름을 보유하기 위한 버퍼입니다. 모든 하위 시스템에는 하위 시스템 이름이 있으며 SubsystemName 지정된 플랫폼 유휴 상태의 컨텍스트 내에서 모든 하위 시스템 사이에서 고유해야 합니다. 하위 시스템의 SubsystemNameParentName동일할 수 없습니다.
입력하기 전에 커널은 다음을 수행합니다.
- SubsystemName.Buffer[] 대한 64 WCHAR 미리 할당
- 버퍼 0
- SubsystemName.MaximumLength 버퍼 크기(바이트)로 설정하고
- SubsystemName.Length = 0 설정
PEP는 하위 시스템 이름을 제공하려면 SubsystemName.Buffer 주소에서 가리키는 할당된 메모리를 사용해야 합니다. 이 메모리는 미리 할당되므로 크기를 변경할 수 없습니다. PEP는 필요한 경우 하위 시스템 이름을 잘림하여 SubsystemName.MaximumLength 지정된 길이(종료 UNICODE_NULL 문자 포함)를 초과하지 않도록 합니다.
[out] MetadataCount
이 SoC 하위 시스템에 의해 집계된 메타데이터 키/값 문자열 쌍의 수입니다.
메타데이터는 선택 사항입니다. PEP는 이 SoC 하위 시스템에 대한 메타데이터를 보고하지 않으면 0을 반환합니다.
Flags
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10부터 지원됩니다. |
헤더 | pepfx.h(Pep_x.h 포함) |