ファームウェアテーブルプロバイダから指定したファームウェアテーブルを取得する。
GetSystemFirmwareTable FirmwareTableProviderSignature, FirmwareTableID, pFirmwareTableBuffer, BufferSize
FirmwareTableProviderSignature : [int]
FirmwareTableID : [int] ファームウェアテーブルの識別子。この識別子はリトルエンディアンであり、文字列内の文字を反転する必要がある。たとえば、FACP は ACPI プロバイダで、ACPI 仕様の DESCRIPTION_HEADER 構造体の Signature フィールドに記述されている([Advanced Configuration and Power Interface (ACPI) Specification](https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/) を参照)。したがって、以下の例のように FACP テーブルを指定するには 'PCAF' を使用する: retVal = GetSystemFirmwareTable('ACPI', 'PCAF', pBuffer, BUFSIZE); 詳細は EnumSystemFirmwareTables 関数の備考セクションを参照。
pFirmwareTableBuffer : [var] 要求されたファームウェアテーブルを受け取るバッファへのポインタ。このパラメータが NULL の場合、戻り値は必要なバッファサイズである。このバッファの内容の詳細は備考セクションを参照。
BufferSize : [int] pFirmwareTableBuffer バッファのサイズ(バイト単位)。
(プラグイン / モジュール : kernel32.dll)
ファームウェアテーブルプロバイダから指定したファームウェアテーブルを取得する。 [戻り値] 関数が成功した場合、戻り値はバッファに書き込まれたバイト数。この値は常に BufferSize 以下となる。バッファが十分な大きさでないために関数が失敗した場合、戻り値は必要なバッファサイズ(バイト単位)。この値は常に BufferSize より大きい。それ以外の理由で関数が失敗した場合、戻り値は 0。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] Windows 10 バージョン 1803 以降、ユニバーサル Windows アプリはアプリマニフェストで smbios 制限機能を宣言することにより System Management BIOS (SMBIOS) 情報にアクセスできる。詳細は Access SMBIOS information from a Universal Windows App を参照。ユニバーサル Windows アプリからアクセスできるのは生の SMBIOS (RSMB) ファームウェアテーブルのみである。Windows Server 2003 with Service Pack 1 (SP1) 以降、アプリケーションは \Device\PhysicalMemory オブジェクトにアクセスできない。このオブジェクトへのアクセスはカーネルモードドライバに制限されている。この変更は、System Management BIOS (SMBIOS) または物理メモリの最下位 1MB に格納されたその他の BIOS データを読み取るアプリケーションに影響する。アプリケーションには低物理メモリからデータを読み取る以下の代替手段がある。 (以下省略)
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |