335 ULONG VendorId, ExtendedId;
337 USHORT IndexTable[MaximumType + 1] = {0};
344 PCHAR CurrentVersion;
350 L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\" 351 L"Control\\Session Manager\\Memory Management");
378 L"\\Registry\\Machine\\Hardware\\Description\\System");
390 L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\" 391 L"Control\\BIOSINFO");
531 PartialString = CpuString;
537 KiCpuId(&CpuInfo, 0x80000000);
538 ExtendedId = CpuInfo.
Eax;
539 if (ExtendedId >= 0x80000004)
542 PartialString = CpuString;
543 for (ExtendedId = 2; ExtendedId <= 4; ExtendedId++)
546 KiCpuId(&CpuInfo, 0x80000000 | ExtendedId);
547 ((
PULONG)PartialString)[0] = CpuInfo.
Eax;
548 ((
PULONG)PartialString)[1] = CpuInfo.
Ebx;
549 ((
PULONG)PartialString)[2] = CpuInfo.
Ecx;
550 ((
PULONG)PartialString)[3] = CpuInfo.
Edx;
561 KiCpuId(&CpuInfo, 0x00000000);
562 VendorId = CpuInfo.
Ebx;
563 PartialString = CpuString;
697 Status = ZwMapViewOfSection(SectionHandle,
710 VideoRomBase = 0xC0000;
719 VideoRomBase &= 0xFFFF8000;
720 if (VideoRomBase < 0xC0000) VideoRomBase = 0xC0000;
736 Status = ZwMapViewOfSection(SectionHandle,
861 Status = ZwMapViewOfSection(SectionHandle,
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING KeyName
ULONG CmpConfigurationAreaSize
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
#define STATUS_INSUFFICIENT_RESOURCES
NTSTATUS NTAPI NtCreateKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN ULONG TitleIndex, IN PUNICODE_STRING Class OPTIONAL, IN ULONG CreateOptions, OUT PULONG Disposition OPTIONAL)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
ACPI_SIZE strlen(const char *String)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
VOID NTAPI KeRevertToUserAffinityThread(VOID)
static const CHAR BiosVersion[]
#define AFFINITY_MASK(Id)
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
#define RtlMoveMemory(Destination, Source, Length)
VOID NTAPI KeSetSystemAffinityThread(IN KAFFINITY Affinity)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
#define sprintf(buf, format,...)
LARGE_INTEGER UpdateSignature
_In_ PUNICODE_STRING ValueName
#define SECTION_ALL_ACCESS
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID NTAPI CmpGetVendorString(IN PKPRCB Prcb, OUT PCHAR CpuString)
_In_ LPGUID _In_ PVOID Data
#define REG_CREATED_NEW_KEY
#define NtCurrentProcess()
#define REG_OPTION_NON_VOLATILE
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
INIT_FUNCTION NTSTATUS NTAPI CmpInitializeRegistryNode(IN PCONFIGURATION_COMPONENT_DATA CurrentEntry, IN HANDLE NodeHandle, OUT PHANDLE NewHandle, IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PUSHORT DeviceIndexTable)
#define NT_SUCCESS(StatCode)
CONFIGURATION_CLASS Class
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
UNICODE_STRING KeRosBiosDate
VOID NTAPI CmpGetIntelBrandString(OUT PCHAR CpuString)
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
#define OBJ_CASE_INSENSITIVE
#define ExAllocatePoolWithTag(hernya, size, tag)
CONFIGURATION_COMPONENT ComponentEntry
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
UNICODE_STRING KeRosVideoBiosDate
PCM_FULL_RESOURCE_DESCRIPTOR CmpConfigurationData
UNICODE_STRING KeRosVideoBiosVersion
UNICODE_STRING KeRosProcessorName
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
PKPRCB KiProcessorBlock[]
NTSYSAPI NTSTATUS NTAPI NtSetValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName, IN ULONG TitleIndex OPTIONAL, IN ULONG Type, IN PVOID Data, IN ULONG DataSize)
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T _Inout_opt_ PLARGE_INTEGER _Inout_ PSIZE_T ViewSize
char * strcpy(char *DstString, const char *SrcString)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
#define InitializeObjectAttributes(p, n, a, r, s)
UNICODE_STRING KeRosBiosVersion
#define ExFreePoolWithTag(_P, _T)
BOOLEAN NTAPI CmpGetBiosVersion(IN PCHAR BiosStart, IN ULONG BiosLength, IN PCHAR BiosVersion)
NTSYSAPI NTSTATUS NTAPI ZwOpenSection(_Out_ PHANDLE SectionHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
IN BOOLEAN OUT PSTR Buffer
BOOLEAN NTAPI CmpGetBiosDate(IN PCHAR BiosStart, IN ULONG BiosLength, IN PCHAR BiosDate, IN BOOLEAN FromBios)