网站首页  词典首页

请输入您要查询的函数:

 

术语 enumsystemfirmwaretables
释义 EnumSystemFirmwareTables
语法:
C++
UINT WINAPI EnumSystemFirmwareTables(
__in DWORD FirmwareTableProviderSignature,
__out PVOID pFirmwareTableBuffer,
__in DWORD BufferSize
);
EnumSystemFirmwareTables功能
枚举所有的系统指定类型的固件表。
参数
FirmwareTableProviderSignature [in]
固件的表供应商的查询是被定向标识符。此参数可以是下列值之一。
ValueMeaning
'ACPI'The ACPI的固件表供应商。
'FIRM'The原始固件表供应商。
'RSMB'The固件提供原料的SMBIOS表。
pFirmwareTableBuffer [out]
阿一个缓冲区,它接收的固件表的列表指针。如果该参数为NULL,则返回值是所需的缓冲区大小。
欲了解更多有关此缓冲区内容的信息,请参见备注部分。
缓冲区大小 [in]
该pFirmwareTableBuffer缓冲区大小,以字节为单位。
返回值
如果函数成功,返回值是写入到缓冲区的字节数。此值总是小于或等于缓冲区大小。
如果函数失败,因为缓冲区不够大,返回值是所需的缓冲区大小,以字节为单位。此值总是大于缓冲区大小。
如果该函数的任何其他原因而失败,返回值是零。为了获得更多错误信息,调用GetLastError。
备注
作为Windows Server 2003带有Service Pack 1(SP1)中,应用程序无法访问\\设备\\ PhysicalMemory对象。访问此对象仅限于内核模式驱动程序。此更改会影响应用程序读取系统管理BIOS(SMBIOS)或其他数据的BIOS中是最低的物理内存1MB的存储。应用有以下选择读取低物理内存中的数据:
检索SMBIOS的属性使用WMI。许多个别属性包含在Win32类。您也可以在一个单一的原始SMBIOS数据缓冲区使用MSSMBios_RawSMBiosTables类。
使用GetSystemFirmwareTable函数来读取原始的SMBIOS固件表。
没有办法申请写入低物理内存。
原始SMBIOS表提供商('RSMB')目前返回一个表标识符,0x0000。这对应于原始的SMBIOS固件表。
原始固件表提供商('事务所')返回双字节值表标识符列表。每个标识符对应的物理地址范围的开始。目前,该供应商的回报'C0000'和'E0000'。这些值对应的物理内存从0xC0000到0xDFFFF和0xE0000的0xfffff时,分别。
ACPI表的供应商('ACPI的')返回双字节值表标识符列表。每个标识符对应产生一个ACPI表对DESCRIPTION_HEADER结构签名领域目前该系统的ACPI名称空间。
对于符合ACPI,如果系统包含多个同名的表,他们都是列举的EnumSystemFirmwareTables。然而,GetSystemFirmwareTable检索只有在这个名单的第一个表。
要求:
最低支持clientWindows Vista中,Windows XP Professional x64版本
最低支持serverWindows Server 2008中时,Windows Server 2003 SP1的
HeaderWinbase.h(头文件:winuser.h)
LibraryKernel32.lib
DLLKernel32.dll
参见
GetSystemFirmwareTable
系统信息功能
如果有任何问题和意见,请发送给微软(wsddocfb@microsoft.com)
生成日期:2009年8月27日
==英文原文==EnumSystemFirmwareTables Function
Enumerates all system firmware tables of the specified type.
Syntax
C++
UINT WINAPI EnumSystemFirmwareTables(
__in DWORD FirmwareTableProviderSignature,
__out PVOID pFirmwareTableBuffer,
__in DWORD BufferSize
);
Parameters
FirmwareTableProviderSignature [in]
The identifier of the firmware table provider to which the query is to be directed. This parameter can be one of the following values.
ValueMeaning
'ACPI'The ACPI firmware table provider.
'FIRM'The raw firmware table provider.
'RSMB'The raw SMBIOS firmware table provider.

pFirmwareTableBuffer [out]
A pointer to a buffer that receives the list of firmware tables. If this parameter is NULL, the return value is the required buffer size.
For more information on the contents of this buffer, see the Remarks section.
BufferSize [in]
The size of the pFirmwareTableBuffer buffer, in bytes.
Return Value
If the function succeeds, the return value is the number of bytes written to the buffer. This value will always be less than or equal to BufferSize.
If the function fails because the buffer is not large enough, the return value is the required buffer size, in bytes. This value is always greater than BufferSize.
If the function fails for any other reason, the return value is zero. To get extended error information, call GetLastError .
Remarks
As of Windows Server 2003 with Service Pack 1 (SP1), applications cannot access the \\Device\\PhysicalMemory object. Access to this object is limited to kernel-mode drivers. This change affects applications read System Management BIOS (SMBIOS) or other BIOS data stored in the lowest 1MB of physical memory. Applications have the following alternatives to read data from low physical memory:
Retrieve the SMBIOS properties using WMI. Many individual properties are contained in the Win32 classes . You can also retrieve the raw SMBIOS data in a single buffer using the MSSMBios_RawSMBiosTables class.
Use the GetSystemFirmwareTable function to read the raw SMBIOS firmware table.
There is no way for applications to write to low physical memory.
The raw SMBIOS table provider ('RSMB') currently returns a single table identifier, 0x0000. This corresponds to the raw SMBIOS firmware table.
The raw firmware table provider ('FIRM') returns a list of DWORD table identifiers. Each identifier corresponds to the beginning of a physical address range. Currently, this provider returns 'C0000' and 'E0000'. These values correspond to physical memory from 0xC0000 to 0xDFFFF and 0xE0000 to 0xFFFFF, respectively.
The ACPI table provider ('ACPI') returns a list of DWORD table identifiers. Each identifier returned corresponds to Signature field of the DESCRIPTION_HEADER structure for an ACPI table currently in the ACPI namespace of the system.
For ACPI, if the system contains multiple tables with the same name, they are all enumerated with EnumSystemFirmwareTables. However, GetSystemFirmwareTable retrieves only the first table in the list with this name.
Requirements
Minimum supported clientWindows Vista, Windows XP Professional x64 Edition
Minimum supported serverWindows Server 2008, Windows Server 2003 with SP1
HeaderWinbase.h (include Windows.h)
LibraryKernel32.lib
DLLKernel32.dll
See Also
GetSystemFirmwareTable
System Information Functions
Send comments about this topic to Microsoft
Build date: 8/27/2009
==原始网址==http://msdn.microsoft.com/en-us/library/ms724259(VS.85).aspx\n
随便看

 

windows api函数参考手册包含2258条windows api函数文档,详细介绍nodejs、java、rust调用windows api的方法技巧,是学习windows api编程的入门中文文档。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 13:21:34