ReactOS 0.4.16-dev-197-g92996da
sysinfo.c File Reference
#include <k32.h>
#include <debug.h>
Include dependency graph for sysinfo.c:

Go to the source code of this file.

Macros

#define NDEBUG
 
#define PV_NT351   0x00030033
 

Functions

VOID WINAPI GetSystemInfoInternal (IN PSYSTEM_BASIC_INFORMATION BasicInfo, IN PSYSTEM_PROCESSOR_INFORMATION ProcInfo, OUT LPSYSTEM_INFO SystemInfo)
 
static UINT BaseQuerySystemFirmware (_In_ DWORD FirmwareTableProviderSignature, _In_ DWORD FirmwareTableID, _Out_writes_bytes_to_opt_(BufferSize, return) PVOID pFirmwareTableBuffer, _In_ DWORD BufferSize, _In_ SYSTEM_FIRMWARE_TABLE_ACTION Action)
 
SIZE_T WINAPI GetLargePageMinimum (VOID)
 
VOID WINAPI GetSystemInfo (IN LPSYSTEM_INFO lpSystemInfo)
 
BOOL WINAPI IsProcessorFeaturePresent (IN DWORD ProcessorFeature)
 
BOOL WINAPI GetSystemRegistryQuota (OUT PDWORD pdwQuotaAllowed, OUT PDWORD pdwQuotaUsed)
 
VOID WINAPI GetNativeSystemInfo (IN LPSYSTEM_INFO lpSystemInfo)
 
BOOL WINAPI GetLogicalProcessorInformation (OUT PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, IN OUT PDWORD ReturnLength)
 
BOOL WINAPI GetNumaHighestNodeNumber (OUT PULONG HighestNodeNumber)
 
BOOL WINAPI GetNumaNodeProcessorMask (IN UCHAR Node, OUT PULONGLONG ProcessorMask)
 
BOOL WINAPI GetNumaProcessorNode (IN UCHAR Processor, OUT PUCHAR NodeNumber)
 
BOOL WINAPI GetNumaAvailableMemoryNode (IN UCHAR Node, OUT PULONGLONG AvailableBytes)
 
 _Success_ (return, 0)
 
BOOL WINAPI SetFirmwareEnvironmentVariableW (_In_ LPCWSTR lpName, _In_ LPCWSTR lpGuid, _In_reads_bytes_opt_(nSize) PVOID pValue, _In_ DWORD nSize)
 
BOOL WINAPI SetFirmwareEnvironmentVariableA (_In_ LPCSTR lpName, _In_ LPCSTR lpGuid, _In_reads_bytes_opt_(nSize) PVOID pValue, _In_ DWORD nSize)
 
EnumSystemFirmwareTables

@implemented

Obtains firmware table identifiers. https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-enumsystemfirmwaretables

Parameters
FirmwareTableProviderSignatureCan be either ACPI, FIRM, or RSMB.
pFirmwareTableBufferPointer to the output buffer, can be NULL.
BufferSizeSize of the output buffer.
Returns
Actual size of the data in case of success, 0 otherwise.
Remarks
Data would be written to buffer only if the specified size is larger or equal to the actual size, in the other case Last Error value would be set to ERROR_INSUFFICIENT_BUFFER. In case of incorrect provider signature, Last Error value would be set to ERROR_INVALID_FUNCTION.
UINT WINAPI EnumSystemFirmwareTables (_In_ DWORD FirmwareTableProviderSignature, _Out_writes_bytes_to_opt_(BufferSize, return) PVOID pFirmwareTableEnumBuffer, _In_ DWORD BufferSize)
 
GetSystemFirmwareTable

@implemented

Obtains the firmware table data. https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemfirmwaretable

Parameters
FirmwareTableProviderSignatureCan be either ACPI, FIRM, or RSMB.
FirmwareTableIDCorrect table identifier.
pFirmwareTableBufferPointer to the output buffer, can be NULL.
BufferSizeSize of the output buffer.
Returns
Actual size of the data in case of success, 0 otherwise.
Remarks
Data would be written to buffer only if the specified size is larger or equal to the actual size, in the other case Last Error value would be set to ERROR_INSUFFICIENT_BUFFER. In case of incorrect provider signature, Last Error value would be set to ERROR_INVALID_FUNCTION. Also Last Error value becomes ERROR_NOT_FOUND if incorrect table identifier was specified along with ACPI provider, and ERROR_INVALID_PARAMETER along with FIRM provider. The RSMB provider accepts any table identifier.
UINT WINAPI GetSystemFirmwareTable (_In_ DWORD FirmwareTableProviderSignature, _In_ DWORD FirmwareTableID, _Out_writes_bytes_to_opt_(BufferSize, return) PVOID pFirmwareTableBuffer, _In_ DWORD BufferSize)
 
BOOL WINAPI GetSystemFileCacheSize (OUT PSIZE_T lpMinimumFileCacheSize, OUT PSIZE_T lpMaximumFileCacheSize, OUT PDWORD lpFlags)
 
BOOL WINAPI SetSystemFileCacheSize (IN SIZE_T MinimumFileCacheSize, IN SIZE_T MaximumFileCacheSize, IN DWORD Flags)
 
LONG WINAPI GetCurrentPackageId (UINT32 *BufferLength, BYTE *Buffer)
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 18 of file sysinfo.c.

◆ PV_NT351

#define PV_NT351   0x00030033

Definition at line 21 of file sysinfo.c.

Function Documentation

◆ _Success_()

_Success_ ( return  ,
 
)

Definition at line 417 of file sysinfo.c.

463{
464 return GetFirmwareEnvironmentVariableExW(lpName, lpGuid, pBuffer, nSize, NULL);
465}
#define NULL
Definition: types.h:112
PVOID pBuffer
_In_ LPCSTR lpName
Definition: winbase.h:2813
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2108

◆ BaseQuerySystemFirmware()

static UINT BaseQuerySystemFirmware ( _In_ DWORD  FirmwareTableProviderSignature,
_In_ DWORD  FirmwareTableID,
_Out_writes_bytes_to_opt_(BufferSize, return) PVOID  pFirmwareTableBuffer,
_In_ DWORD  BufferSize,
_In_ SYSTEM_FIRMWARE_TABLE_ACTION  Action 
)
static

Definition at line 81 of file sysinfo.c.

87{
88 SYSTEM_FIRMWARE_TABLE_INFORMATION* SysFirmwareInfo;
92
93 SysFirmwareInfo = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, TotalSize);
94 if (!SysFirmwareInfo)
95 {
97 return 0;
98 }
100 {
101 SysFirmwareInfo->ProviderSignature = FirmwareTableProviderSignature;
102 SysFirmwareInfo->TableID = FirmwareTableID;
103 SysFirmwareInfo->Action = Action;
104 SysFirmwareInfo->TableBufferLength = BufferSize;
105
107
109 Result = SysFirmwareInfo->TableBufferLength;
110
111 if (NT_SUCCESS(Status) && pFirmwareTableBuffer)
112 {
113 RtlCopyMemory(pFirmwareTableBuffer, SysFirmwareInfo->TableBuffer, SysFirmwareInfo->TableBufferLength);
114 }
115 }
117 {
118 RtlFreeHeap(RtlGetProcessHeap(), 0, SysFirmwareInfo);
119 }
120 _SEH2_END;
121
123 return Result;
124}
ULONG ReturnedSize
_In_ ULONG FirmwareTableID
Definition: aux_klib.h:91
LONG NTSTATUS
Definition: precomp.h:26
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:590
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:608
#define BufferSize
Definition: mmc.h:75
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define SetLastError(x)
Definition: compat.h:752
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
#define _SEH2_FINALLY
Definition: filesup.c:21
#define _SEH2_END
Definition: filesup.c:22
#define _SEH2_TRY
Definition: filesup.c:19
Status
Definition: gdiplustypes.h:25
@ SystemFirmwareTableInformation
Definition: extypes.h:293
struct _SYSTEM_FIRMWARE_TABLE_INFORMATION SYSTEM_FIRMWARE_TABLE_INFORMATION
DWORD BaseSetLastNTError(IN NTSTATUS Status)
Definition: reactos.cpp:167
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
NTSYSAPI NTSTATUS NTAPI NtQuerySystemInformation(IN SYSTEM_INFORMATION_CLASS SystemInfoClass, OUT PVOID SystemInfoBuffer, IN ULONG SystemInfoBufferSize, OUT PULONG BytesReturned OPTIONAL)
SYSTEM_FIRMWARE_TABLE_ACTION Action
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
Definition: wdfiotarget.h:510
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409

Referenced by EnumSystemFirmwareTables(), and GetSystemFirmwareTable().

◆ EnumSystemFirmwareTables()

UINT WINAPI EnumSystemFirmwareTables ( _In_ DWORD  FirmwareTableProviderSignature,
_Out_writes_bytes_to_opt_(BufferSize, return) PVOID  pFirmwareTableEnumBuffer,
_In_ DWORD  BufferSize 
)

Definition at line 538 of file sysinfo.c.

542{
543 return BaseQuerySystemFirmware(FirmwareTableProviderSignature,
544 0,
545 pFirmwareTableEnumBuffer,
548}
static UINT BaseQuerySystemFirmware(_In_ DWORD FirmwareTableProviderSignature, _In_ DWORD FirmwareTableID, _Out_writes_bytes_to_opt_(BufferSize, return) PVOID pFirmwareTableBuffer, _In_ DWORD BufferSize, _In_ SYSTEM_FIRMWARE_TABLE_ACTION Action)
Definition: sysinfo.c:81
@ SystemFirmwareTable_Enumerate

◆ GetCurrentPackageId()

LONG WINAPI GetCurrentPackageId ( UINT32 BufferLength,
BYTE Buffer 
)

Definition at line 630 of file sysinfo.c.

632{
633 STUB;
635}
#define STUB
Definition: kernel32.h:27
#define APPMODEL_ERROR_NO_PACKAGE
Definition: winerror.h:2337

◆ GetLargePageMinimum()

SIZE_T WINAPI GetLargePageMinimum ( VOID  )

Definition at line 133 of file sysinfo.c.

134{
135 return SharedUserData->LargePageMinimum;
136}
#define SharedUserData

◆ GetLogicalProcessorInformation()

BOOL WINAPI GetLogicalProcessorInformation ( OUT PSYSTEM_LOGICAL_PROCESSOR_INFORMATION  Buffer,
IN OUT PDWORD  ReturnLength 
)

Definition at line 233 of file sysinfo.c.

235{
237
238 if (!ReturnLength)
239 {
241 return FALSE;
242 }
243
245 Buffer,
248
249 /* Normalize the error to what Win32 expects */
251 if (!NT_SUCCESS(Status))
252 {
254 return FALSE;
255 }
256
257 return TRUE;
258}
Definition: bufpool.h:45
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:43
@ SystemLogicalProcessorInformation
Definition: extypes.h:290
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133

◆ GetNativeSystemInfo()

VOID WINAPI GetNativeSystemInfo ( IN LPSYSTEM_INFO  lpSystemInfo)

Definition at line 207 of file sysinfo.c.

208{
209 SYSTEM_BASIC_INFORMATION BasicInfo;
212
213 Status = RtlGetNativeSystemInformation(SystemBasicInformation,
214 &BasicInfo,
215 sizeof(BasicInfo),
216 0);
217 if (!NT_SUCCESS(Status)) return;
218
219 Status = RtlGetNativeSystemInformation(SystemProcessorInformation,
220 &ProcInfo,
221 sizeof(ProcInfo),
222 0);
223 if (!NT_SUCCESS(Status)) return;
224
225 GetSystemInfoInternal(&BasicInfo, &ProcInfo, lpSystemInfo);
226}
VOID WINAPI GetSystemInfoInternal(IN PSYSTEM_BASIC_INFORMATION BasicInfo, IN PSYSTEM_PROCESSOR_INFORMATION ProcInfo, OUT LPSYSTEM_INFO SystemInfo)
Definition: sysinfo.c:27
@ SystemProcessorInformation
Definition: ntddk_ex.h:12
@ SystemBasicInformation
Definition: ntddk_ex.h:11

Referenced by enumerate_gac(), get_osarchitecture(), GetSystemCPU(), set_installer_properties(), test_appsearch_reglocator(), and test_installprops().

◆ GetNumaAvailableMemoryNode()

BOOL WINAPI GetNumaAvailableMemoryNode ( IN UCHAR  Node,
OUT PULONGLONG  AvailableBytes 
)

Definition at line 387 of file sysinfo.c.

389{
391 SYSTEM_NUMA_INFORMATION NumaInformation;
393
394 /* Query NUMA information */
396 &NumaInformation,
397 sizeof(NumaInformation),
398 &Length);
399 if (!NT_SUCCESS(Status))
400 {
402 return FALSE;
403 }
404
405 /* Validate input node number */
406 if (Node > NumaInformation.HighestNodeNumber)
407 {
409 return FALSE;
410 }
411
412 /* Return available memory for that node */
413 *AvailableBytes = NumaInformation.AvailableMemory[Node];
414 return TRUE;
415}
union node Node
Definition: types.h:1255
@ SystemNumaAvailableMemory
Definition: extypes.h:277
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
ULONGLONG AvailableMemory[MAXIMUM_NUMA_NODES]
Definition: extypes.h:1409
Definition: dlist.c:348

◆ GetNumaHighestNodeNumber()

BOOL WINAPI GetNumaHighestNodeNumber ( OUT PULONG  HighestNodeNumber)

Definition at line 265 of file sysinfo.c.

266{
269 ULONG PartialInfo[2]; // First two members of SYSTEM_NUMA_INFORMATION
270
271 /* Query partial NUMA info */
273 PartialInfo,
274 sizeof(PartialInfo),
275 &Length);
276 if (!NT_SUCCESS(Status))
277 {
279 return FALSE;
280 }
281
282 if (Length < sizeof(ULONG))
283 {
285 return FALSE;
286 }
287
288 /* First member of the struct is the highest node number */
289 *HighestNodeNumber = PartialInfo[0];
290 return TRUE;
291}
@ SystemNumaProcessorMap
Definition: extypes.h:272

Referenced by GetEnvVarOrSpecial().

◆ GetNumaNodeProcessorMask()

BOOL WINAPI GetNumaNodeProcessorMask ( IN UCHAR  Node,
OUT PULONGLONG  ProcessorMask 
)

Definition at line 298 of file sysinfo.c.

300{
302 SYSTEM_NUMA_INFORMATION NumaInformation;
304
305 /* Query NUMA information */
307 &NumaInformation,
308 sizeof(NumaInformation),
309 &Length);
310 if (!NT_SUCCESS(Status))
311 {
313 return FALSE;
314 }
315
316 /* Validate input node number */
317 if (Node > NumaInformation.HighestNodeNumber)
318 {
320 return FALSE;
321 }
322
323 /* Return mask for that node */
324 *ProcessorMask = NumaInformation.ActiveProcessorsAffinityMask[Node];
325 return TRUE;
326}
ULONGLONG ActiveProcessorsAffinityMask[MAXIMUM_NUMA_NODES]
Definition: extypes.h:1408

◆ GetNumaProcessorNode()

BOOL WINAPI GetNumaProcessorNode ( IN UCHAR  Processor,
OUT PUCHAR  NodeNumber 
)

Definition at line 333 of file sysinfo.c.

335{
337 SYSTEM_NUMA_INFORMATION NumaInformation;
339 ULONG Node;
340 ULONGLONG Proc;
341
342 /* Can't handle processor number >= 32 */
344 {
345 *NodeNumber = -1;
347 return FALSE;
348 }
349
350 /* Query NUMA information */
352 &NumaInformation,
353 sizeof(NumaInformation),
354 &Length);
355 if (!NT_SUCCESS(Status))
356 {
357 *NodeNumber = -1;
359 return FALSE;
360 }
361
362 /* Find ourselves */
363 Node = 0;
364 Proc = 1ULL << Processor;
365 while ((Proc & NumaInformation.ActiveProcessorsAffinityMask[Node]) == 0ULL)
366 {
367 ++Node;
368 /* Out of options */
369 if (Node > NumaInformation.HighestNodeNumber)
370 {
371 *NodeNumber = -1;
373 return FALSE;
374 }
375 }
376
377 /* Return found node */
378 *NodeNumber = Node;
379 return TRUE;
380}
#define MAXIMUM_PROCESSORS
Definition: rwlock.h:5
#define ULL(a, b)
Definition: format_msg.c:27
uint64_t ULONGLONG
Definition: typedefs.h:67
_Out_ PUSHORT NodeNumber
Definition: iofuncs.h:2574
_In_ UCHAR Processor
Definition: kefuncs.h:670

◆ GetSystemFileCacheSize()

BOOL WINAPI GetSystemFileCacheSize ( OUT PSIZE_T  lpMinimumFileCacheSize,
OUT PSIZE_T  lpMaximumFileCacheSize,
OUT PDWORD  lpFlags 
)

Definition at line 604 of file sysinfo.c.

607{
608 STUB;
609 return FALSE;
610}

◆ GetSystemFirmwareTable()

UINT WINAPI GetSystemFirmwareTable ( _In_ DWORD  FirmwareTableProviderSignature,
_In_ DWORD  FirmwareTableID,
_Out_writes_bytes_to_opt_(BufferSize, return) PVOID  pFirmwareTableBuffer,
_In_ DWORD  BufferSize 
)

Definition at line 586 of file sysinfo.c.

591{
592 return BaseQuerySystemFirmware(FirmwareTableProviderSignature,
594 pFirmwareTableBuffer,
597}
@ SystemFirmwareTable_Get

Referenced by fill_baseboard(), fill_bios(), fill_compsysproduct(), and fill_systemenclosure().

◆ GetSystemInfo()

VOID WINAPI GetSystemInfo ( IN LPSYSTEM_INFO  lpSystemInfo)

Definition at line 143 of file sysinfo.c.

144{
145 SYSTEM_BASIC_INFORMATION BasicInfo;
148
150 &BasicInfo,
151 sizeof(BasicInfo),
152 0);
153 if (!NT_SUCCESS(Status)) return;
154
156 &ProcInfo,
157 sizeof(ProcInfo),
158 0);
159 if (!NT_SUCCESS(Status)) return;
160
161 GetSystemInfoInternal(&BasicInfo, &ProcInfo, lpSystemInfo);
162}

Referenced by _LocalGetPrinterLevel0(), AllSysInfo(), CheckX64System(), DllMain(), dump_system_info(), EmptyWorkingSet(), ExpandInstallerPath(), get_estimated_size(), GetSystemCPU(), CShellDispatch::GetSystemInformation(), InitializeSystemPage(), NewCtxInit(), CListNode::operator new(), PrintSystemInfo(), ProcessorDlgProc(), ProcessPageShowContextMenu(), CKsAllocator::SetProperties(), SetupDiGetActualSectionToInstallExW(), START_TEST(), StartInstaller(), StatisticsMain(), StdMemAllocator_Alloc(), TaskManager_OnTabWndSelChange(), test_affinity(), test_CompareStringW(), test_CreateFileMapping_protection(), test_CreateThread_stack(), test_dpa(), test_GetNumaProcessorNode(), test_HeapCreate(), test_mapping(), test_NtGetCurrentProcessorNumber(), test_NtQuerySection(), test_query_logicalproc(), test_query_processor_power_info(), test_SystemInfo(), test_thread_processor(), test_VirtualAlloc_protection(), test_VirtualProtect(), test_WICCreateBitmapFromSectionEx(), test_WriteFileGather(), FxInterruptThreadpool::UpdateThreadPoolThreadLimits(), VirtualTest(), wave_in_test_device(), wave_out_test_device(), and WICCreateBitmapFromSectionEx().

◆ GetSystemInfoInternal()

VOID WINAPI GetSystemInfoInternal ( IN PSYSTEM_BASIC_INFORMATION  BasicInfo,
IN PSYSTEM_PROCESSOR_INFORMATION  ProcInfo,
OUT LPSYSTEM_INFO  SystemInfo 
)

Definition at line 27 of file sysinfo.c.

30{
31 RtlZeroMemory(SystemInfo, sizeof (SYSTEM_INFO));
32 SystemInfo->wProcessorArchitecture = ProcInfo->ProcessorArchitecture;
33 SystemInfo->wReserved = 0;
34 SystemInfo->dwPageSize = BasicInfo->PageSize;
35 SystemInfo->lpMinimumApplicationAddress = (PVOID)BasicInfo->MinimumUserModeAddress;
36 SystemInfo->lpMaximumApplicationAddress = (PVOID)BasicInfo->MaximumUserModeAddress;
37 SystemInfo->dwActiveProcessorMask = BasicInfo->ActiveProcessorsAffinityMask;
38 SystemInfo->dwNumberOfProcessors = BasicInfo->NumberOfProcessors;
39 SystemInfo->wProcessorLevel = ProcInfo->ProcessorLevel;
40 SystemInfo->wProcessorRevision = ProcInfo->ProcessorRevision;
41 SystemInfo->dwAllocationGranularity = BasicInfo->AllocationGranularity;
42
43 switch (ProcInfo->ProcessorArchitecture)
44 {
46 switch (ProcInfo->ProcessorLevel)
47 {
48 case 3:
49 SystemInfo->dwProcessorType = PROCESSOR_INTEL_386;
50 break;
51 case 4:
52 SystemInfo->dwProcessorType = PROCESSOR_INTEL_486;
53 break;
54 default:
55 SystemInfo->dwProcessorType = PROCESSOR_INTEL_PENTIUM;
56 }
57 break;
58
60 SystemInfo->dwProcessorType = PROCESSOR_AMD_X8664;
61 break;
62
64 SystemInfo->dwProcessorType = PROCESSOR_INTEL_IA64;
65 break;
66
67 default:
68 SystemInfo->dwProcessorType = 0;
69 break;
70 }
71
73 {
74 SystemInfo->wProcessorLevel = 0;
75 SystemInfo->wProcessorRevision = 0;
76 }
77}
DWORD WINAPI GetProcessVersion(IN DWORD ProcessId)
Definition: proc.c:1766
#define PV_NT351
Definition: sysinfo.c:21
#define PROCESSOR_ARCHITECTURE_IA64
Definition: ketypes.h:111
#define PROCESSOR_ARCHITECTURE_AMD64
Definition: ketypes.h:114
#define PROCESSOR_ARCHITECTURE_INTEL
Definition: ketypes.h:105
void * PVOID
Definition: typedefs.h:50
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define PROCESSOR_INTEL_PENTIUM
Definition: winnt_old.h:425
#define PROCESSOR_INTEL_386
Definition: winnt_old.h:423
#define PROCESSOR_AMD_X8664
Definition: winnt_old.h:434
#define PROCESSOR_INTEL_IA64
Definition: winnt_old.h:428
#define PROCESSOR_INTEL_486
Definition: winnt_old.h:424

Referenced by GetNativeSystemInfo(), and GetSystemInfo().

◆ GetSystemRegistryQuota()

BOOL WINAPI GetSystemRegistryQuota ( OUT PDWORD  pdwQuotaAllowed,
OUT PDWORD  pdwQuotaUsed 
)

Definition at line 180 of file sysinfo.c.

182{
186
188 &QuotaInfo,
189 sizeof(QuotaInfo),
190 &BytesWritten);
191 if (NT_SUCCESS(Status))
192 {
193 if (pdwQuotaAllowed) *pdwQuotaAllowed = QuotaInfo.RegistryQuotaAllowed;
194 if (pdwQuotaUsed) *pdwQuotaUsed = QuotaInfo.RegistryQuotaUsed;
195 return TRUE;
196 }
197
199 return FALSE;
200}
@ SystemRegistryQuotaInformation
Definition: ntddk_ex.h:48
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
Definition: wdfiotarget.h:960

◆ IsProcessorFeaturePresent()

BOOL WINAPI IsProcessorFeaturePresent ( IN DWORD  ProcessorFeature)

Definition at line 169 of file sysinfo.c.

170{
171 if (ProcessorFeature >= PROCESSOR_FEATURE_MAX) return FALSE;
172 return ((BOOL)SharedUserData->ProcessorFeatures[ProcessorFeature]);
173}
unsigned int BOOL
Definition: ntddk_ex.h:94
#define PROCESSOR_FEATURE_MAX

Referenced by _fpreset(), dump_system_info(), and ProcessorDlgProc().

◆ SetFirmwareEnvironmentVariableA()

BOOL WINAPI SetFirmwareEnvironmentVariableA ( _In_ LPCSTR  lpName,
_In_ LPCSTR  lpGuid,
_In_reads_bytes_opt_(nSize) PVOID  pValue,
_In_ DWORD  nSize 
)

Definition at line 496 of file sysinfo.c.

501{
503 lpGuid,
504 pValue,
505 nSize,
507}
BOOL WINAPI SetFirmwareEnvironmentVariableExA(_In_ LPCSTR lpName, _In_ LPCSTR lpGuid, _In_reads_bytes_opt_(nSize) PVOID pValue, _In_ DWORD nSize, _In_ DWORD dwAttributes)
Definition: firmware.c:156
PWCHAR pValue
#define VARIABLE_ATTRIBUTE_NON_VOLATILE
Definition: extypes.h:1568

Referenced by START_TEST().

◆ SetFirmwareEnvironmentVariableW()

BOOL WINAPI SetFirmwareEnvironmentVariableW ( _In_ LPCWSTR  lpName,
_In_ LPCWSTR  lpGuid,
_In_reads_bytes_opt_(nSize) PVOID  pValue,
_In_ DWORD  nSize 
)

Definition at line 481 of file sysinfo.c.

486{
488 lpGuid,
489 pValue,
490 nSize,
492}
BOOL WINAPI SetFirmwareEnvironmentVariableExW(_In_ LPCWSTR lpName, _In_ LPCWSTR lpGuid, _In_reads_bytes_opt_(nSize) PVOID pValue, _In_ DWORD nSize, _In_ DWORD dwAttributes)
Definition: firmware.c:113

Referenced by START_TEST().

◆ SetSystemFileCacheSize()

BOOL WINAPI SetSystemFileCacheSize ( IN SIZE_T  MinimumFileCacheSize,
IN SIZE_T  MaximumFileCacheSize,
IN DWORD  Flags 
)

Definition at line 617 of file sysinfo.c.

620{
621 STUB;
622 return FALSE;
623}