mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[DRWTSN32] Add SMBIOS data to the system information (#1017)
[DMILIB][UDMIHELP] Allow functions to be linked with C++ code.
This commit is contained in:
parent
d897e271a2
commit
baf2c0cc2d
4 changed files with 53 additions and 4 deletions
|
@ -2,7 +2,9 @@
|
||||||
PROJECT(drwtsn32)
|
PROJECT(drwtsn32)
|
||||||
|
|
||||||
set_cpp(WITH_RUNTIME WITH_EXCEPTIONS WITH_STL)
|
set_cpp(WITH_RUNTIME WITH_EXCEPTIONS WITH_STL)
|
||||||
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
|
include_directories(
|
||||||
|
${REACTOS_SOURCE_DIR}/sdk/lib/atl
|
||||||
|
${REACTOS_SOURCE_DIR}/sdk/lib/udmihelp)
|
||||||
|
|
||||||
list(APPEND CPP_SOURCE
|
list(APPEND CPP_SOURCE
|
||||||
drwtsn32.cpp
|
drwtsn32.cpp
|
||||||
|
@ -15,6 +17,6 @@ list(APPEND CPP_SOURCE
|
||||||
add_executable(drwtsn32 ${CPP_SOURCE} drwtsn32.rc)
|
add_executable(drwtsn32 ${CPP_SOURCE} drwtsn32.rc)
|
||||||
add_pch(drwtsn32 precomp.h CPP_SOURCE)
|
add_pch(drwtsn32 precomp.h CPP_SOURCE)
|
||||||
set_module_type(drwtsn32 win32gui UNICODE)
|
set_module_type(drwtsn32 win32gui UNICODE)
|
||||||
target_link_libraries(drwtsn32 atlnew)
|
target_link_libraries(drwtsn32 atlnew udmihelp)
|
||||||
add_importlibs(drwtsn32 dbghelp psapi advapi32 shell32 shlwapi msvcrt user32 kernel32 ntdll)
|
add_importlibs(drwtsn32 dbghelp psapi advapi32 shell32 shlwapi msvcrt user32 kernel32 ntdll)
|
||||||
add_cd_file(TARGET drwtsn32 DESTINATION reactos/system32 FOR all)
|
add_cd_file(TARGET drwtsn32 DESTINATION reactos/system32 FOR all)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
#include <udmihelp.h>
|
||||||
#include <winreg.h>
|
#include <winreg.h>
|
||||||
#include <reactos/buildno.h>
|
#include <reactos/buildno.h>
|
||||||
|
|
||||||
|
@ -71,6 +72,36 @@ void PrintSystemInfo(FILE* output, DumpData& data)
|
||||||
xfprintf(output, " User Name: %s" NEWLINE, Buffer);
|
xfprintf(output, " User Name: %s" NEWLINE, Buffer);
|
||||||
|
|
||||||
|
|
||||||
|
PVOID SMBiosBuf;
|
||||||
|
PCHAR DmiStrings[ID_STRINGS_MAX] = { 0 };
|
||||||
|
SMBiosBuf = LoadSMBiosData(DmiStrings);
|
||||||
|
if (SMBiosBuf)
|
||||||
|
{
|
||||||
|
if (DmiStrings[BIOS_VENDOR])
|
||||||
|
xfprintf(output, " BIOS Vendor: %s" NEWLINE, DmiStrings[BIOS_VENDOR]);
|
||||||
|
if (DmiStrings[BIOS_VERSION])
|
||||||
|
xfprintf(output, " BIOS Version: %s" NEWLINE, DmiStrings[BIOS_VERSION]);
|
||||||
|
if (DmiStrings[BIOS_DATE])
|
||||||
|
xfprintf(output, " BIOS Date: %s" NEWLINE, DmiStrings[BIOS_DATE]);
|
||||||
|
if (DmiStrings[SYS_VENDOR])
|
||||||
|
xfprintf(output, " System Manufacturer: %s" NEWLINE, DmiStrings[SYS_VENDOR]);
|
||||||
|
if (DmiStrings[SYS_FAMILY])
|
||||||
|
xfprintf(output, " System Family: %s" NEWLINE, DmiStrings[SYS_FAMILY]);
|
||||||
|
if (DmiStrings[SYS_PRODUCT])
|
||||||
|
xfprintf(output, " System Model: %s" NEWLINE, DmiStrings[SYS_PRODUCT]);
|
||||||
|
if (DmiStrings[SYS_VERSION])
|
||||||
|
xfprintf(output, " System Version: %s" NEWLINE, DmiStrings[SYS_VERSION]);
|
||||||
|
if (DmiStrings[SYS_SKU])
|
||||||
|
xfprintf(output, " System SKU: %s" NEWLINE, DmiStrings[SYS_SKU]);
|
||||||
|
if (DmiStrings[BOARD_VENDOR])
|
||||||
|
xfprintf(output, " Baseboard Manufacturer: %s" NEWLINE, DmiStrings[BOARD_VENDOR]);
|
||||||
|
if (DmiStrings[BOARD_NAME])
|
||||||
|
xfprintf(output, " Baseboard Model: %s" NEWLINE, DmiStrings[BOARD_NAME]);
|
||||||
|
if (DmiStrings[BOARD_VERSION])
|
||||||
|
xfprintf(output, " Baseboard Version: %s" NEWLINE, DmiStrings[BOARD_VERSION]);
|
||||||
|
FreeSMBiosData(SMBiosBuf);
|
||||||
|
}
|
||||||
|
|
||||||
SYSTEM_INFO info;
|
SYSTEM_INFO info;
|
||||||
GetSystemInfo(&info);
|
GetSystemInfo(&info);
|
||||||
xfprintf(output, " Number of Processors: %d" NEWLINE, info.dwNumberOfProcessors);
|
xfprintf(output, " Number of Processors: %d" NEWLINE, info.dwNumberOfProcessors);
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
* PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org)
|
* PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#ifndef DMILIB_H
|
||||||
|
#define DMILIB_H
|
||||||
|
|
||||||
enum _ID_STRINGS
|
enum _ID_STRINGS
|
||||||
{
|
{
|
||||||
|
@ -34,3 +35,5 @@ ParseSMBiosTables(
|
||||||
_In_reads_bytes_(TableSize) PVOID SMBiosTables,
|
_In_reads_bytes_(TableSize) PVOID SMBiosTables,
|
||||||
_In_ ULONG TableSize,
|
_In_ ULONG TableSize,
|
||||||
_Inout_updates_(ID_STRINGS_MAX) PCHAR * Strings);
|
_Inout_updates_(ID_STRINGS_MAX) PCHAR * Strings);
|
||||||
|
|
||||||
|
#endif /* DMILIB_H */
|
||||||
|
|
|
@ -5,7 +5,14 @@
|
||||||
* COPYRIGHT: Copyright 2018 Stanislav Motylkov
|
* COPYRIGHT: Copyright 2018 Stanislav Motylkov
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#ifndef UDMIHELP_H
|
||||||
|
#define UDMIHELP_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <../dmilib/dmilib.h>
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
LoadSMBiosData(
|
LoadSMBiosData(
|
||||||
|
@ -25,3 +32,9 @@ GetSMBiosStringW(
|
||||||
VOID
|
VOID
|
||||||
FreeSMBiosData(
|
FreeSMBiosData(
|
||||||
_In_ PVOID Buffer);
|
_In_ PVOID Buffer);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} // extern "C"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* UDMIHELP_H */
|
||||||
|
|
Loading…
Reference in a new issue