Prepare UI support

This commit is contained in:
momo5502
2025-05-17 11:50:44 +02:00
parent ce431115b5
commit a2b3b5f1c2
3 changed files with 77 additions and 3 deletions

View File

@@ -25,6 +25,7 @@
#include "registry.hpp"
#include "network.hpp"
#include "threading.hpp"
#include "window.hpp"
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic pop

View File

@@ -0,0 +1,40 @@
#pragma once
using pointer = uint64_t;
#ifndef OS_WINDOWS
typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
#endif
using wparam = pointer;
using lparam = pointer;
using lresult = pointer;
typedef struct _LARGE_STRING
{
ULONG Length;
ULONG MaximumLength : 31;
ULONG bAnsi : 1;
pointer Buffer;
} LARGE_STRING;
using hwnd = pointer;
using hmenu = pointer;
using hinstance = pointer;
struct msg
{
hwnd hwnd;
UINT message;
wparam wParam;
lparam lParam;
DWORD time;
POINT pt;
#ifdef _MAC
DWORD lPrivate;
#endif
};

View File

@@ -718,18 +718,51 @@ namespace syscalls
return STATUS_NOT_SUPPORTED;
}
NTSTATUS handle_NtUserCreateWindowEx()
hwnd handle_NtUserCreateWindowEx(const syscall_context& c, const DWORD ex_style,
const emulator_object<LARGE_STRING> class_name,
const emulator_object<LARGE_STRING> cls_version,
const emulator_object<LARGE_STRING> window_name, const DWORD style, const int x,
const int y, const int width, const int height, const hwnd parent,
const hmenu menu, const hinstance instance, const pointer l_param,
const DWORD flags, const pointer acbi_buffer)
{
(void)c;
(void)ex_style;
(void)class_name;
(void)cls_version;
(void)window_name;
(void)style;
(void)x;
(void)y;
(void)width;
(void)height;
(void)parent;
(void)menu;
(void)instance;
(void)l_param;
(void)flags;
(void)acbi_buffer;
return STATUS_NOT_SUPPORTED;
}
NTSTATUS handle_NtUserShowWindow()
NTSTATUS handle_NtUserShowWindow(const syscall_context& c, const hwnd hwnd, const LONG cmd_show)
{
(void)c;
(void)hwnd;
(void)cmd_show;
return STATUS_NOT_SUPPORTED;
}
NTSTATUS handle_NtUserGetMessage()
NTSTATUS handle_NtUserGetMessage(const syscall_context& c, const emulator_object<msg> message, const hwnd hwnd,
const UINT msg_filter_min, const UINT msg_filter_max)
{
(void)c;
(void)message;
(void)hwnd;
(void)msg_filter_min;
(void)msg_filter_max;
return STATUS_NOT_SUPPORTED;
}
}