PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE Struktur (pepfx.h)
Die PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE-Struktur enthält eine Aufzählung der Objekte im Namespace des Geräts.
Syntax
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;
Angehörige
DeviceHandle
Ein PEPHANDLE-Wert, der die Registrierung des Geräts für ACPI-Dienste identifiziert. Das Plattformerweiterungs-Plug-In (PEP) hat dieses Handle als Reaktion auf eine vorherige PEP_NOTIFY_ACPI_REGISTER_DEVICE-Benachrichtigung bereitgestellt.
RequestFlags
Eine Reihe von Eingabekennzeichnungen. Für dieses Element sind derzeit keine Flags definiert, die immer auf PEP_ACPI_EDN_FLAG_NONE (0x0) festgelegt sind.
Status
Ein NTSTATUS-Wert, der den Status der angeforderten Gerätenamespace-Enumeration angibt. Legen Sie dieses Element auf STATUS_SUCCESS fest, wenn der PEP erfolgreich die Objekte im Gerätenamespace aufzählt. Wird auf STATUS_BUFFER_TOO_SMALL festgelegt, wenn der Eingabewert im ObjectBufferSize Member angibt, dass der zugeordnete Puffer nicht groß genug ist, um das Objects Array zu enthalten.
ObjectCount
Die Anzahl der Elemente im Objects Array.
ObjectBufferSize
Die Größe des Puffers, den das Windows Power Management Framework in Byte (PoFx) für die Objects Arrayelemente zugewiesen hat, die der Struktur folgen. Wenn der Eingabewert von ObjectBufferSize- nicht groß genug ist, um alle Objects Arrayelemente zu enthalten, überschreibt der PEP den Eingabewert mit der erforderlichen Größe und legt den Status Member auf STATUS_BUFFER_TOO_SMALL fest. Weitere Informationen finden Sie unter Anmerkungen.
Objects[ANYSIZE_ARRAY]
Das erste Element in einem Array von PEP_ACPI_OBJECT_NAME_WITH_TYPE Strukturen, die die Objekte im ACPI-Namespace des Geräts beschreiben. Wenn dieses Array mehrere Elemente enthält, folgen die zusätzlichen Arrayelemente dem Ende der PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE Struktur.
Bemerkungen
Diese Struktur wird von der PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE Benachrichtigung verwendet. Die RequestFlags und ObjectBufferSize Member enthalten Eingabewerte, die von PoFx beim Senden der Benachrichtigung bereitgestellt werden. Der PEP kann den ObjectBufferSize Eingabewert mit einem Ausgabewert überschreiben, wenn der Eingabewert kleiner als die erforderliche Ausgabepuffergröße ist. Die Status-, ObjectCount-und Objekte Elemente enthalten Ausgabewerte, die der PEP in die Struktur schreibt.
ObjectCount ist die Anzahl der Objekte, die im ACPI-Namespace unter diesem Gerät aufgeführt sind. Der PEP sollte überprüfen, ob der von PoFx zugewiesene Speicher für das Objects Array groß genug ist, um ObjectCount Arrayelemente zu enthalten. Wenn ObjectCount > 1
, folgen die zusätzlichen ObjectCount-1-Arrayelemente dem Ende der PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE Struktur. Die für die Struktur erforderliche Puffergröße und zusätzliche Arrayelemente werden wie folgt berechnet:
sizeof(PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE) + ((ObjectCount-1) * sizeof(PEP_ACPI_OBJECT_NAME_WITH_TYPE));
Wenn der im ObjectBufferSize Member angegebene Eingabewert kleiner als die erforderliche Größe ist, überschreibt der PEP den ObjectBufferSize Eingabewert mit der erforderlichen Größe und legt den Status Member auf STATUS_BUFFER_TOO_SMALL fest. Als Antwort weist PoFx einen Puffer der erforderlichen Größe zu und sendet eine zweite PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE Benachrichtigung an den PEP für dieses Gerät.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Wird ab Windows 10 unterstützt. |
Header- | pepfx.h (include Pep_x.h) |