Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e145a06c
Commit
e145a06c
authored
Aug 02, 2021
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wow64: Add thunks for the system information query syscalls.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
9bf46d5c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
213 additions
and
0 deletions
+213
-0
struct32.h
dlls/wow64/struct32.h
+210
-0
syscall.h
dlls/wow64/syscall.h
+3
-0
system.c
dlls/wow64/system.c
+0
-0
No files found.
dlls/wow64/struct32.h
View file @
e145a06c
...
@@ -267,6 +267,35 @@ typedef struct
...
@@ -267,6 +267,35 @@ typedef struct
typedef
struct
typedef
struct
{
{
ULONG
Section
;
ULONG
MappedBaseAddress
;
ULONG
ImageBaseAddress
;
ULONG
ImageSize
;
ULONG
Flags
;
USHORT
LoadOrderIndex
;
USHORT
InitOrderIndex
;
USHORT
LoadCount
;
USHORT
NameOffset
;
BYTE
Name
[
MAXIMUM_FILENAME_LENGTH
];
}
RTL_PROCESS_MODULE_INFORMATION32
;
typedef
struct
{
ULONG
ModulesCount
;
RTL_PROCESS_MODULE_INFORMATION32
Modules
[
1
];
}
RTL_PROCESS_MODULES32
;
typedef
struct
{
USHORT
NextOffset
;
RTL_PROCESS_MODULE_INFORMATION32
BaseInfo
;
ULONG
ImageCheckSum
;
ULONG
TimeDateStamp
;
ULONG
DefaultBase
;
}
RTL_PROCESS_MODULE_INFORMATION_EX32
;
typedef
struct
{
ULONG
BaseAddress
;
ULONG
BaseAddress
;
ULONG
Attributes
;
ULONG
Attributes
;
LARGE_INTEGER
Size
;
LARGE_INTEGER
Size
;
...
@@ -423,4 +452,185 @@ typedef struct
...
@@ -423,4 +452,185 @@ typedef struct
}
StateInfo
;
}
StateInfo
;
}
DBGUI_WAIT_STATE_CHANGE32
;
}
DBGUI_WAIT_STATE_CHANGE32
;
typedef
struct
{
ULONG
unknown
;
ULONG
KeMaximumIncrement
;
ULONG
PageSize
;
ULONG
MmNumberOfPhysicalPages
;
ULONG
MmLowestPhysicalPage
;
ULONG
MmHighestPhysicalPage
;
ULONG
AllocationGranularity
;
ULONG
LowestUserAddress
;
ULONG
HighestUserAddress
;
ULONG
ActiveProcessorsAffinityMask
;
BYTE
NumberOfProcessors
;
}
SYSTEM_BASIC_INFORMATION32
;
typedef
struct
{
ULONG
CurrentSize
;
ULONG
PeakSize
;
ULONG
PageFaultCount
;
ULONG
MinimumWorkingSet
;
ULONG
MaximumWorkingSet
;
ULONG
CurrentSizeIncludingTransitionInPages
;
ULONG
PeakSizeIncludingTransitionInPages
;
ULONG
TransitionRePurposeCount
;
ULONG
Flags
;
}
SYSTEM_CACHE_INFORMATION32
;
typedef
struct
{
ULONG
OwnerPid
;
BYTE
ObjectType
;
BYTE
HandleFlags
;
USHORT
HandleValue
;
ULONG
ObjectPointer
;
ULONG
AccessMask
;
}
SYSTEM_HANDLE_ENTRY32
;
typedef
struct
{
ULONG
Count
;
SYSTEM_HANDLE_ENTRY32
Handle
[
1
];
}
SYSTEM_HANDLE_INFORMATION32
;
typedef
struct
{
ULONG
RegistryQuotaAllowed
;
ULONG
RegistryQuotaUsed
;
ULONG
Reserved1
;
}
SYSTEM_REGISTRY_QUOTA_INFORMATION32
;
typedef
struct
{
ULONG
Object
;
ULONG
UniqueProcessId
;
ULONG
HandleValue
;
ULONG
GrantedAccess
;
USHORT
CreatorBackTraceIndex
;
USHORT
ObjectTypeIndex
;
ULONG
HandleAttributes
;
ULONG
Reserved
;
}
SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32
;
typedef
struct
{
ULONG
NumberOfHandles
;
ULONG
Reserved
;
SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32
Handles
[
1
];
}
SYSTEM_HANDLE_INFORMATION_EX32
;
typedef
struct
{
ULONG
ProcessorMask
;
LOGICAL_PROCESSOR_RELATIONSHIP
Relationship
;
union
{
struct
{
BYTE
Flags
;
}
ProcessorCore
;
struct
{
DWORD
NodeNumber
;
}
NumaNode
;
CACHE_DESCRIPTOR
Cache
;
ULONGLONG
Reserved
[
2
];
};
}
SYSTEM_LOGICAL_PROCESSOR_INFORMATION32
;
typedef
struct
{
BYTE
Flags
;
BYTE
EfficiencyClass
;
BYTE
Reserved
[
20
];
WORD
GroupCount
;
GROUP_AFFINITY32
GroupMask
[
ANYSIZE_ARRAY
];
}
PROCESSOR_RELATIONSHIP32
;
typedef
struct
{
DWORD
NodeNumber
;
BYTE
Reserved
[
20
];
GROUP_AFFINITY32
GroupMask
;
}
NUMA_NODE_RELATIONSHIP32
;
typedef
struct
{
BYTE
Level
;
BYTE
Associativity
;
WORD
LineSize
;
DWORD
CacheSize
;
PROCESSOR_CACHE_TYPE
Type
;
BYTE
Reserved
[
20
];
GROUP_AFFINITY32
GroupMask
;
}
CACHE_RELATIONSHIP32
;
typedef
struct
{
BYTE
MaximumProcessorCount
;
BYTE
ActiveProcessorCount
;
BYTE
Reserved
[
38
];
ULONG
ActiveProcessorMask
;
}
PROCESSOR_GROUP_INFO32
;
typedef
struct
{
WORD
MaximumGroupCount
;
WORD
ActiveGroupCount
;
BYTE
Reserved
[
20
];
PROCESSOR_GROUP_INFO32
GroupInfo
[
ANYSIZE_ARRAY
];
}
GROUP_RELATIONSHIP32
;
typedef
struct
{
LOGICAL_PROCESSOR_RELATIONSHIP
Relationship
;
DWORD
Size
;
union
{
PROCESSOR_RELATIONSHIP32
Processor
;
NUMA_NODE_RELATIONSHIP32
NumaNode
;
CACHE_RELATIONSHIP32
Cache
;
GROUP_RELATIONSHIP32
Group
;
};
}
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX32
;
typedef
struct
{
LARGE_INTEGER
KernelTime
;
LARGE_INTEGER
UserTime
;
LARGE_INTEGER
CreateTime
;
DWORD
dwTickCount
;
ULONG
StartAddress
;
CLIENT_ID32
ClientId
;
DWORD
dwCurrentPriority
;
DWORD
dwBasePriority
;
DWORD
dwContextSwitches
;
DWORD
dwThreadState
;
DWORD
dwWaitReason
;
DWORD
dwUnknown
;
}
SYSTEM_THREAD_INFORMATION32
;
typedef
struct
{
ULONG
NextEntryOffset
;
DWORD
dwThreadCount
;
DWORD
dwUnknown1
[
6
];
LARGE_INTEGER
CreationTime
;
LARGE_INTEGER
UserTime
;
LARGE_INTEGER
KernelTime
;
UNICODE_STRING32
ProcessName
;
DWORD
dwBasePriority
;
ULONG
UniqueProcessId
;
ULONG
ParentProcessId
;
ULONG
HandleCount
;
ULONG
SessionId
;
DWORD
dwUnknown4
;
VM_COUNTERS_EX32
vmCounters
;
IO_COUNTERS
ioCounters
;
SYSTEM_THREAD_INFORMATION32
ti
[
1
];
}
SYSTEM_PROCESS_INFORMATION32
;
#endif
/* __WOW64_STRUCT32_H */
#endif
/* __WOW64_STRUCT32_H */
dlls/wow64/syscall.h
View file @
e145a06c
...
@@ -156,6 +156,8 @@
...
@@ -156,6 +156,8 @@
SYSCALL_ENTRY( NtQuerySymbolicLinkObject ) \
SYSCALL_ENTRY( NtQuerySymbolicLinkObject ) \
SYSCALL_ENTRY( NtQuerySystemEnvironmentValue ) \
SYSCALL_ENTRY( NtQuerySystemEnvironmentValue ) \
SYSCALL_ENTRY( NtQuerySystemEnvironmentValueEx ) \
SYSCALL_ENTRY( NtQuerySystemEnvironmentValueEx ) \
SYSCALL_ENTRY( NtQuerySystemInformation ) \
SYSCALL_ENTRY( NtQuerySystemInformationEx ) \
SYSCALL_ENTRY( NtQuerySystemTime ) \
SYSCALL_ENTRY( NtQuerySystemTime ) \
SYSCALL_ENTRY( NtQueryTimer ) \
SYSCALL_ENTRY( NtQueryTimer ) \
SYSCALL_ENTRY( NtQueryTimerResolution ) \
SYSCALL_ENTRY( NtQueryTimerResolution ) \
...
@@ -225,6 +227,7 @@
...
@@ -225,6 +227,7 @@
SYSCALL_ENTRY( NtWaitForMultipleObjects ) \
SYSCALL_ENTRY( NtWaitForMultipleObjects ) \
SYSCALL_ENTRY( NtWaitForSingleObject ) \
SYSCALL_ENTRY( NtWaitForSingleObject ) \
SYSCALL_ENTRY( NtWow64AllocateVirtualMemory64 ) \
SYSCALL_ENTRY( NtWow64AllocateVirtualMemory64 ) \
SYSCALL_ENTRY( NtWow64GetNativeSystemInformation ) \
SYSCALL_ENTRY( NtWow64ReadVirtualMemory64 ) \
SYSCALL_ENTRY( NtWow64ReadVirtualMemory64 ) \
SYSCALL_ENTRY( NtWow64WriteVirtualMemory64 ) \
SYSCALL_ENTRY( NtWow64WriteVirtualMemory64 ) \
SYSCALL_ENTRY( NtWriteFile ) \
SYSCALL_ENTRY( NtWriteFile ) \
...
...
dlls/wow64/system.c
View file @
e145a06c
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment