共用方式為


PEP_QUERY_SOC_SUBSYSTEM結構(pep_x.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 內容中每個子系統的唯一索引,

核心會將此值初始化為零,並遞增每個後續子系統靜態資訊通知。 值為 0 表示這是指定 PlatformIdleStateIndex的第一個這類通知。 此欄位旨在提供此通知實例之間的 PEP 內容。 這是唯一的欄位,其輸入值會因給定的 PlatformIdleStateIndex 而 PEP 會使用此值來查閱子系統,而此字段會因此通知的實例而有所不同。

PEP 可以忽略此值。

[out] SubsystemHandle

PEP 可以選擇性地指派值的內容指標。 它會在此特定子系統的後續通知上收到指標。 在後續的通知中,PEP 會使用 PlatformIdleStateIndex,以及 SubsystemName 和/或 SubsystemHandle 來查閱特定子系統的會計數據。

根據預設,如果這個成員為零,則為值。 OS 會忽略此值,而且只會在通知中使用。

不需要 PEP 才能填入此成員。

[in/out] ParentName

用來存放對應子系統父名稱的緩衝區。 每個子系統都有一個父系和子系統,ParentName 的值都視為同層級。 子系統同層級階層是選擇性的。 如果沒有任何階層,所有子系統都是最上層子系統,並針對parentName 指定通用值。 若要指出階層,最上層子系統會指定一般 ParentName,而每個非最上層子系統會針對 parentName 指定其父子系統的SubsystemName

進入之前,核心會:

  • 針對 ParentName.Buffer[] 預先配置 64 WCHAR
  • 零緩衝區
  • ParentName.MaximumLength 設定為以位元組為單位的緩衝區大小,以及
  • 設定 parentName.Length = 0
結束之前,PEP 必須將 null 終止的字串複製到 ParentName.Buffer,並以位元組計數更新 ParentName.Lengthsizeof(WCHAR) 複製的 UNICODE 字元數,不包括終止 UNICODE_NULL

PEP 必須使用 ParentName.Buffer 中位址所指向的已配置記憶體,以提供父名稱。 由於此記憶體已預先配置,因此無法變更其大小。 PEP 負責在必要時截斷父名稱,使其不會超過 ParentName.MaximumLength 中指定的長度(包括終止 UNICODE_NULL 字元)。

[in/out] SubsystemName

用來存放此子系統名稱的緩衝區。 每個子系統都有子系統名稱和 SubsystemName 在指定平臺閑置狀態內容內的所有子系統中必須是唯一的。 子系統的 SubsystemName 不能與 ParentName相同。

進入之前,核心會:

  • 預先配置 64 WCHARSubsystemName.Buffer[]
  • 零緩衝區
  • SubsystemName.MaximumLength 設定為以位元組為單位的緩衝區大小,以及
  • 設定 SubsystemName.Length = 0
結束之前,PEP 必須將 null 終止的字串複製到 SubsystemName.Buffer,並使用位元組計數更新 SubsystemName.Length,其位元組計數 sizeof(WCHAR) 複製的 UNICODE 字元數,不包括終止 UNICODE_NULL

PEP 必須使用 SubsystemName.Buffer 中位址所指向的配置記憶體,以提供子系統名稱。 由於此記憶體已預先配置,因此無法變更其大小。 PEP 負責在必要時截斷子系統名稱,使其不會超過 SubsystemName.MaximumLength 中指定的長度(包括終止 UNICODE_NULL 字元)。

[out] MetadataCount

這個 SoC 子系統所標記的元數據索引鍵/值字串組數目。

元數據是選擇性的。 如果 PEP 未報告此 SoC 子系統的任何元數據,則 PEP 會傳回零。

Flags

這個成員是保留的,而且應該設定為零。

要求

要求 價值
最低支援的用戶端 從 Windows 10 開始支援。
標頭 pep_x.h (包括 Pep_x.h)

另請參閱

PEP_DPM_QUERY_SOC_SUBSYSTEM 通知