struttura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (pepfx.h)
La struttura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE contiene un'enumerazione degli oggetti nello spazio dei nomi del dispositivo.
Sintassi
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;
Members
DeviceHandle
Valore PEPHANDLE che identifica la registrazione del dispositivo per i servizi ACPI. Il plug-in di estensione della piattaforma (PEP) ha fornito questo handle in risposta a una notifica PEP_NOTIFY_ACPI_REGISTER_DEVICE precedente.
RequestFlags
Set di flag di input. Non sono attualmente definiti flag per questo membro, che è sempre impostato su PEP_ACPI_EDN_FLAG_NONE (0x0).
Status
Valore NTSTATUS che indica lo stato dell'enumerazione device-namespace richiesta. Impostare questo membro su STATUS_SUCCESS se il PEP riesce a enumerare gli oggetti nello spazio dei nomi del dispositivo. Impostare su STATUS_BUFFER_TOO_SMALL se il valore di input nel membro ObjectBufferSize indica che il buffer allocato non è sufficientemente grande da contenere la matrice Objects .
ObjectCount
Numero di elementi nella matrice Objects .
ObjectBufferSize
Dimensioni, in byte, del buffer allocato dal framework di risparmio energia di Windows (PoFx) per gli elementi della matrice Objects che seguono la struttura. Se il valore di input di ObjectBufferSize non è sufficientemente grande da contenere tutti gli elementi della matrice Objects , il PEP sovrascrive il valore di input con le dimensioni necessarie e imposta il membro Status su STATUS_BUFFER_TOO_SMALL. Per altre informazioni, vedere Osservazioni.
Objects[ANYSIZE_ARRAY]
Primo elemento in una matrice di strutture PEP_ACPI_OBJECT_NAME_WITH_TYPE che descrivono gli oggetti nello spazio dei nomi ACPI del dispositivo. Se questa matrice contiene più di un elemento, gli elementi della matrice aggiuntivi seguono la fine della struttura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE .
Commenti
Questa struttura viene utilizzata dalla notifica di PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE . I membri RequestFlags e ObjectBufferSize contengono valori di input forniti da PoFx quando viene inviata la notifica. Il PEP può sovrascrivere il valore di input ObjectBufferSize con un valore di output se il valore di input è minore delle dimensioni del buffer di output necessarie. I membri Status, ObjectCount e Objects contengono valori di output scritti dal PEP nella struttura.
ObjectCount è il numero di oggetti elencati nello spazio dei nomi ACPI nel dispositivo. Il PEP deve verificare che lo spazio di archiviazione allocato da PoFx per la matrice Objects sia sufficientemente grande da contenere gli elementi della matrice ObjectCount . Se ObjectCount > 1
, gli elementi della matrice ObjectCount-1 aggiuntivi seguono la fine della struttura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE . Le dimensioni del buffer necessarie per contenere la struttura e gli elementi di matrice aggiuntivi vengono calcolate come segue:
sizeof(PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE) + ((ObjectCount-1) * sizeof(PEP_ACPI_OBJECT_NAME_WITH_TYPE));
Se il valore di input specificato nel membro ObjectBufferSize è minore delle dimensioni necessarie, il PEP sovrascrive il valore di input ObjectBufferSize con le dimensioni necessarie e imposta il membro Status su STATUS_BUFFER_TOO_SMALL. In risposta, PoFx allocherà un buffer delle dimensioni necessarie e invierà una seconda notifica PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE al PEP per questo dispositivo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato a partire da Windows 10. |
Intestazione | pepfx.h (include Pep_x.h) |