PEP_QUERY_SOC_SUBSYSTEM結構 (pepfx.h)
PEP_DPM_QUERY_SOC_SUBSYSTEM通知會使用PEP_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
子系統索引,這是OS指派給指定 PlatformIdleStateIndex 內容內每個子系統的唯一索引。
核心會將此值初始化為零,並針對每個後續子系統靜態資訊通知遞增此值。 值為 0 表示它是給定 PlatformIdleStateIndex 的第一個這類通知。 此欄位旨在提供此通知實例之間的 PEP 內容。 這是唯一的欄位,其輸入值會因指定 PlatformIdleStateIndex 的這個通知實例而有所不同,而 PEP 可能會使用此值來查閱子系統。
PEP 可以忽略此值。
[out] SubsystemHandle
PEP 可以選擇性地指派值的內容指標。 它會在此特定子系統的後續通知上收到指標。 在後續通知中,PEP 會使用 PlatformIdleStateIndex 搭配 SubsystemName 和/或 SubsystemHandle 來查閱特定子系統的會計數據。
根據預設,如果這個成員為零,則為 值。 操作系統會忽略這個值,而且只會在通知中使用。
不需要 PEP 才能填入此成員。
[in/out] ParentName
用來保存對應子系統之父名稱的緩衝區。 每個子系統都有父系和子系統,且 ParentName 的值相同,會被視為同層級。 子系統同層級階層是選擇性的。 如果沒有任何階層,所有子系統都是最上層子系統,並指定 ParentName的通用值。 為了指出階層,最上層子系統會指定通用 ParentName,而每個非最上層子系統都會指定其父子系統的 ParentName for ParentName。
進入之前,核心會:
- 針對 ParentName.Buffer[] 預先配置 64 個 WCHAR
- 零緩衝區
- 將 ParentName.MaximumLength 設定為以位元組為單位的緩衝區大小,以及
- 設定 ParentName.Length = 0
PEP 必須使用 ParentName.Buffer 中位址所指向的已配置記憶體,以提供父名稱。 由於此記憶體已預先配置,因此無法變更其大小。 PEP 負責視需要截斷父名稱,使其不會超過 ParentName.MaximumLength 中指定的長度, (包括終止 UNICODE_NULL 字元) 。
[in/out] SubsystemName
用來保存此子系統名稱的緩衝區。 每個子系統都有子系統名稱, 且 SubsystemName 在給定平臺閑置狀態內容中的所有子系統中都必須是唯一的。 子系統的 SubsystemName 不能與 ParentName 相同。
進入之前,核心會:
- 針對 SubsystemName.Buffer[] 預先配置 64 個 WCHAR
- 零緩衝區
- 將 SubsystemName.MaximumLength 設定為以位元組為單位的緩衝區大小,以及
- 設定 SubsystemName.Length = 0
PEP 必須使用 SubsystemName.Buffer 中位址所指向的已配置記憶體,以提供子系統名稱。 由於此記憶體已預先配置,因此無法變更其大小。 PEP 負責視需要截斷子系統名稱,使其不會超過 SubsystemName.MaximumLength 中指定的長度, (包括終止 UNICODE_NULL 字元) 。
[out] MetadataCount
這個 SoC 子系統所設定的元數據索引鍵/值字串組數目。
元數據是選擇性的。 如果 PEP 未報告此 SoC 子系統的任何元數據,PEP 會傳回零。
Flags
這個成員是保留的,而且應該設定為零。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從Windows 10 開始支援。 |
標頭 | pepfx.h (包含 Pep_x.h) |