PEP_SOC_SUBSYSTEM_METADATA 構造体 (pep_x.h)

PEP_SOC_SUBSYSTEM_METADATA構造体には、チップ上のシステム (SoC) サブシステムのメタデータを含むキーと値のペアが含まれています。 プラットフォーム拡張機能プラグイン (PEP) に送信される PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA 通知のコンテキストで使用されます。

構文

typedef struct _PEP_SOC_SUBSYSTEM_METADATA {
  [in/out] UNICODE_STRING Key;
  [in/out] UNICODE_STRING Value;
} PEP_SOC_SUBSYSTEM_METADATA, *PPEP_SOC_SUBSYSTEM_METADATA;

メンバー

[in/out] Key

メタデータ文字列ペアのキー部分を書き込む PEP のバッファー。 キー は、このサブシステムによって報告されるすべての キー 値の間で一意である必要があります。

通知コールバック ルーチンに入る前に、カーネルは次の処理を行います。

  • Key.Buffer[] に 64 WCHAR を事前に割り当てる
  • バッファーをゼロにします
  • Key.MaximumLength をバッファーのサイズ (バイト単位) に設定し、
  • Key.Length = 0 の設定
コールバック ルーチンから終了する前に、PEP は null で終わる文字列を Key.Buffer にコピーし、 key.Length を、コピーした UNICODE 文字の数の sizeof(WCHAR) 倍のバイト数で更新する必要があります(終了 UNICODE_NULLは含まれません)。

PEP は、 Key.Buffer のアドレスによって指される割り当てられたメモリを使用してキーを提供する必要があります。 このメモリは事前に割り当てられているため、サイズを変更することはできません。 PEP は、必要に応じてキー文字列を切り捨て、 Key.MaximumLength (終端の UNICODE_NULL 文字を含む) で指定された長さを超えないようにします。

[in/out] Value

PEP がメタデータ文字列ペアの値部分を書き込むバッファー。

通知コールバック ルーチンに入る前に、カーネルは次の処理を行います。

  • Value.Buffer[] に 64 WCHAR を事前に割り当てる
  • バッファーをゼロにします
  • Value.MaximumLength をバッファーのサイズ (バイト単位) に設定します。
  • Value.Length = 0 の設定
コールバック ルーチンから終了する前に、PEP は null で終わる文字列を Value.Buffer にコピーし、バイト数が sizeof(WCHAR) でコピーされた UNICODE 文字の数 (終端のUNICODE_NULLを含まない) で Value.Length を更新する必要があります。

PEP は、 Value.Buffer のアドレスによって指される割り当てられたメモリを使用して、メタデータ値を提供する必要があります。 このメモリは事前に割り当てられているため、サイズを変更することはできません。 PEP は、必要に応じて値文字列を切り捨て、 Value.MaximumLength (終端の UNICODE_NULL 文字を含む) で指定された長さを超えないようにします。

要件

要件
サポートされている最小のクライアント Windows 10 以降でサポートされています。
Header pep_x.h (Pep_x.h を含む)

こちらもご覧ください

PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA

PEP_QUERY_SOC_SUBSYSTEM_METADATA