Función AuxKlibEnumerateSystemFirmwareTables (aux_klib.h)
El AuxKlibEnumerateSystemFirmwareTables rutina enumera todas las tablas de firmware del sistema del tipo especificado.
Sintaxis
NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
[in] ULONG FirmwareTableProviderSignature,
[out, optional] PVOID FirmwareTableBuffer,
[in] ULONG BufferLength,
[out, optional] PULONG ReturnLength
);
Parámetros
[in] FirmwareTableProviderSignature
Identificador del proveedor de tabla de firmware al que se dirigirá la consulta. Este parámetro puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
'ACPI' | Proveedor de tabla de firmware ACPI. |
'FIRM' | Proveedor de tabla de firmware sin procesar. |
'RSMB' | Proveedor de tabla de firmware SMBIOS sin procesar. |
[out, optional] FirmwareTableBuffer
Puntero a un búfer asignado por el autor de la llamada al que la rutina escribe la lista de tablas de firmware. Si este parámetro es NULL, el valor escrito en *returnLength es el tamaño de búfer necesario. Para obtener más información sobre el contenido de este búfer, vea la sección Comentarios.
[in] BufferLength
Tamaño, en bytes, del búfer al que apunta FirmwareTableBuffer.
[out, optional] ReturnLength
Puntero a una ubicación a la que la rutina escribe el número de bytes de datos escritos en el búfer al que apunta FirmwareTableBuffer.
Valor devuelto
AuxKlibEnumerateSystemFirmwareTables devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Los valores devueltos posibles incluyen los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
Se proporcionó un parámetro no válido a la rutina. |
|
El búfer asignado por el autor de la llamada es demasiado pequeño, pero el tamaño de búfer necesario se ha escrito en el parámetro de salida ReturnLength. |
Observaciones
Si la llamada se realiza correctamente, esta rutina escribe una matriz de uno o varios identificadores de tabla en el búfer al que apunta el parámetro FirmwareTableBuffer. Cada elemento de esta matriz es un valor DWORD que identifica una tabla de firmware que está disponible en el proveedor especificado por el parámetro FirmwareTableProviderSignature.
El proveedor de tablas SMBIOS sin procesar ("RSMB") devuelve actualmente un identificador de tabla único, 0x00000000. Esto corresponde a la tabla de firmware SMBIOS sin procesar.
El proveedor de tabla de firmware sin procesar ("FIRM") recupera una lista de identificadores de tabla DWORD. Cada identificador corresponde al principio de un intervalo de direcciones físico. Actualmente, este proveedor devuelve dos identificadores, 0x000C0000 y 0x000E0000. Estos identificadores representan memoria física de 0x000C0000 a 0x000DFFFF y de 0x000E0000 a 0x000FFFFF, respectivamente.
El proveedor de tablas ACPI ("ACPI") devuelve una lista de identificadores de tabla DWORD. Cada identificador devuelto corresponde a campo firma de la estructura de DESCRIPTION_HEADER para una tabla ACPI actualmente en el espacio de nombres ACPI del sistema. Para obtener más información sobre esta estructura, consulte advanced Configuration and Power Interface Specification en el sitio web de Advanced Configuration and Power Interface.
Para ACPI, si el firmware del sistema contiene varias tablas con el mismo nombre, AuxKlibEnumerateSystemFirmwareTables enumera todas ellas. Sin embargo, AuxKlibGetSystemFirmwareTable recupera solo la primera tabla de la lista que tiene este nombre.
AuxKlibEnumerateSystemFirmwareTables es el equivalente en modo kernel de la función EnumSystemFirmwareTables Win32.
Los controladores deben llamar a AuxKlibInitialize antes de llamar a AuxKlibEnumerateSystemFirmwareTable.
AuxKlibEnumerateSystemFirmwareTables se define en el archivo de encabezado Aux_klib.h que se incluye en WDK para Windows 8 y versiones posteriores de Windows. Para usar esta rutina, los controladores deben vincularse a la versión de Aux_klib.lib que se incluye en WDK para Windows 8 y versiones posteriores de Windows. La implementación de AuxKlibEnumerateSystemFirmwareTables en estas versiones del WDK se puede usar en versiones de Windows a partir de Windows Vista.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite a partir de Windows Vista. |
de la plataforma de destino de | Universal |
encabezado de | aux_klib.h (incluya Aux_klib.h) |
biblioteca de | Aux_Klib.lib |
irQL | PASSIVE_LEVEL |