AuxKlibEnumerateSystemFirmwareTables 함수(aux_klib.h)

AuxKlibEnumerateSystemFirmwareTables 루틴은 지정된 형식의 모든 시스템 펌웨어 테이블을 열거합니다.

구문

NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
  [in]            ULONG  FirmwareTableProviderSignature,
  [out, optional] PVOID  FirmwareTableBuffer,
  [in]            ULONG  BufferLength,
  [out, optional] PULONG ReturnLength
);

매개 변수

[in] FirmwareTableProviderSignature

쿼리를 지시할 펌웨어 테이블 공급자의 식별자입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
'ACPI' ACPI 펌웨어 테이블 공급자입니다.
'FIRM' 원시 펌웨어 테이블 공급자입니다.
'RSMB' 원시 SMBIOS 펌웨어 테이블 공급자입니다.

[out, optional] FirmwareTableBuffer

루틴이 펌웨어 테이블 목록을 작성하는 호출자가 할당한 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL인 경우 *ReturnLength 에 기록된 값은 필요한 버퍼 크기입니다. 이 버퍼의 내용에 대한 자세한 내용은 설명 섹션을 참조하세요.

[in] BufferLength

FirmwareTableBuffer가 가리키는 버퍼의 크기(바이트)입니다.

[out, optional] ReturnLength

루틴이 FirmwareTableBuffer가 가리키는 버퍼에 기록된 데이터 바이트 수를 쓰는 위치에 대한 포인터입니다.

반환 값

AuxKlibEnumerateSystemFirmwareTables 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 반환 값에는 다음 오류 코드가 포함됩니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
잘못된 매개 변수가 루틴에 제공되었습니다.
STATUS_BUFFER_TOO_SMALL
호출자가 할당한 버퍼가 너무 작지만 필요한 버퍼 크기가 ReturnLength 출력 매개 변수에 기록되었습니다.

설명

호출에 성공하면 이 루틴은 하나 이상의 테이블 식별자 배열을 FirmwareTableBuffer 매개 변수가 가리키는 버퍼에 씁니다. 이 배열의 각 요소는 FirmwareTableProviderSignature 매개 변수로 지정된 공급자에서 사용할 수 있는 펌웨어 테이블을 식별하는 DWORD 값입니다.

원시 SMBIOS 테이블 공급자('RSMB')는 현재 0x00000000 단일 테이블 식별자를 반환합니다. 이는 원시 SMBIOS 펌웨어 테이블에 해당합니다.

원시 펌웨어 테이블 공급자('FIRM')는 DWORD 테이블 식별자 목록을 검색합니다. 각 식별자는 실제 주소 범위의 시작 부분에 해당합니다. 현재 이 공급자는 0x000C0000 및 0x000E0000 두 개의 식별자를 반환합니다. 이러한 식별자는 각각 0x000C0000 0x000DFFFF 0x000E0000 0x000FFFFF 실제 메모리를 나타냅니다.

ACPI 테이블 공급자('ACPI')는 DWORD 테이블 식별자 목록을 반환합니다. 반환되는 각 식별자는 현재 시스템의 ACPI 네임스페이스에 있는 ACPI 테이블에 대한 DESCRIPTION_HEADER 구조의 서명 필드에 해당합니다. 이 구조에 대한 자세한 내용은 고급 구성 및 전원 인터페이스 웹 사이트의 고급 구성 및 전원 인터페이스 사양을 참조하세요.

ACPI의 경우 시스템 펌웨어에 이름이 같은 여러 테이블이 포함된 경우 AuxKlibEnumerateSystemFirmwareTables 는 모두 열거합니다. 그러나 AuxKlibGetSystemFirmwareTable 은 이 이름이 있는 목록의 첫 번째 테이블만 검색합니다.

AuxKlibEnumerateSystemFirmwareTables 는 Win32 EnumSystemFirmwareTables 함수와 동일한 커널 모드입니다.

드라이버는 AuxKlibEnumerateSystemFirmwareTable을 호출하기 전에 AuxKlibInitialize를 호출해야 합니다.

AuxKlibEnumerateSystemFirmwareTables는 Windows 8 이상 버전의 Windows용 WDK에 포함된 Aux_klib.h 헤더 파일에 정의되어 있습니다. 이 루틴을 사용하려면 드라이버는 Windows 8 이상 버전의 Windows용 WDK에 포함된 Aux_klib.lib 버전에 연결해야 합니다. 이러한 버전의 WDK에서 AuxKlibEnumerateSystemFirmwareTables 구현은 Windows Vista부터 Windows 버전에서 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista부터 지원됩니다.
대상 플랫폼 유니버설
헤더 aux_klib.h(Aux_klib.h 포함)
라이브러리 Aux_Klib.lib
IRQL PASSIVE_LEVEL

추가 정보

AuxKlibGetSystemFirmwareTable

AuxKlibInitialize

EnumSystemFirmwareTables