Condividi tramite


struttura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (pep_x.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 pep_x.h (includere Pep_x.h)

Vedi anche