PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 構造体 (pep_x.h)
PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE構造体には、デバイスの名前空間内のオブジェクトの列挙体が含まれています。
構文
typedef struct _PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE {
PEPHANDLE DeviceHandle;
ULONG RequestFlags;
NTSTATUS Status;
ULONG ObjectCount;
SIZE_T ObjectBufferSize;
PEP_ACPI_OBJECT_NAME_WITH_TYPE Objects[ANYSIZE_ARRAY];
} PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE, *PPEP_ACPI_ENUMERATE_DEVICE_NAMESPACE;
メンバー
DeviceHandle
ACPI サービスに対するデバイスの登録を識別する PEPHANDLE 値。 プラットフォーム拡張機能プラグイン (PEP) は、以前の PEP_NOTIFY_ACPI_REGISTER_DEVICE 通知に応答してこのハンドルを提供しました。
RequestFlags
入力フラグのセット。 現在、このメンバーにはフラグは定義されていません。これは常に PEP_ACPI_EDN_FLAG_NONE (0x0) に設定されます。
Status
要求された device-namespace 列挙の状態を示す NTSTATUS 値。 PEP がデバイス名前空間内のオブジェクトの列挙に成功した場合は、このメンバーを STATUS_SUCCESS に設定します。 ObjectBufferSize メンバーの入力値が、割り当てられたバッファーが Objects 配列を格納するのに十分な大きさではないことを示す場合は、STATUS_BUFFER_TOO_SMALL に設定します。
ObjectCount
Objects 配列内の要素の数。
ObjectBufferSize
構造体に続く Objects 配列要素に割り当てられた Windows 電源管理フレームワーク (PoFx) のバッファーのサイズ (バイト単位)。 ObjectBufferSize の入力値が、すべての Objects 配列要素を含むのに十分な大きさでない場合、PEP は入力値を必要なサイズで上書きし、Status メンバーをSTATUS_BUFFER_TOO_SMALLに設定します。 詳細については、「解説」をご覧ください。
Objects[ANYSIZE_ARRAY]
デバイスの ACPI 名前空間内のオブジェクトを記述する PEP_ACPI_OBJECT_NAME_WITH_TYPE 構造体の配列内の最初の要素。 この配列に複数の要素が含まれている場合、追加の配列要素は 、PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 構造体の末尾に続きます。
注釈
この構造体は、 PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE 通知によって使用されます。 RequestFlags メンバーと ObjectBufferSize メンバーには、通知の送信時に PoFx によって提供される入力値が含まれます。 入力値が必要な出力バッファー サイズより小さい場合、PEP によって ObjectBufferSize 入力値が出力値で上書きされることがあります。 Status、ObjectCount、および Objects メンバーには、PEP が構造体に書き込む出力値が含まれています。
ObjectCount は、このデバイスの ACPI 名前空間に一覧表示されているオブジェクトの数です。 PEP は、ObjectCount 配列要素を含むのに十分な大きさの Objects 配列に対して PoFx によって割り当てられたストレージがあることを確認する必要があります。 の場合 ObjectCount > 1
、追加の ObjectCount–1 配列要素は 、PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 構造体の末尾に続きます。 構造体と追加の配列要素を格納するために必要なバッファー サイズは、次のように計算されます。
sizeof(PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE) + ((ObjectCount-1) * sizeof(PEP_ACPI_OBJECT_NAME_WITH_TYPE));
ObjectBufferSize メンバーで指定された入力値が必要なサイズより小さい場合、PEP は ObjectBufferSize 入力値を必要なサイズで上書きし、Status メンバーをSTATUS_BUFFER_TOO_SMALLに設定します。 応答として、PoFx は必要なサイズのバッファーを割り当て、このデバイスの PEP に 2 番目の PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE 通知を送信します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 以降でサポートされています。 |
Header | pep_x.h (Pep_x.h を含む) |