adding win32ksys the syscall lib for win32k

waring 
type make clean, 
delete makefile.auto
make clean does not delete the gdi32/misc/i386 delete that folder and need delete it u self
make clean does not delete the user32/misc/i386 delete that folder and need delete it u self



svn path=/trunk/; revision=28057
This commit is contained in:
Magnus Olsen 2007-07-31 21:38:52 +00:00
parent 1fb9e7536b
commit d848c8c8f4
6 changed files with 67 additions and 43 deletions

View file

@ -9,6 +9,8 @@
<library>ntdll</library> <library>ntdll</library>
<library>kernel32</library> <library>kernel32</library>
<library>advapi32</library> <library>advapi32</library>
<library>win32ksys</library>
<directory name="include"> <directory name="include">
<pch>precomp.h</pch> <pch>precomp.h</pch>
</directory> </directory>
@ -22,22 +24,7 @@
<file>stubs.c</file> <file>stubs.c</file>
<file>stubsa.c</file> <file>stubsa.c</file>
<file>stubsw.c</file> <file>stubsw.c</file>
<file>wingl.c</file> <file>wingl.c</file>
<if property="ARCH" value="i386">
<directory name="i386">
<file>win32k.S</file>
</directory>
</if>
<if property="ARCH" value="powerpc">
<directory name="powerpc">
<file>win32k.S</file>
</directory>
</if>
<if property="ARCH" value="mips">
<directory name="mips">
<file>win32k.S</file>
</directory>
</if>
</directory> </directory>
<directory name="objects"> <directory name="objects">
<file>bitmap.c</file> <file>bitmap.c</file>

View file

@ -15,6 +15,8 @@
<library>kernel32</library> <library>kernel32</library>
<library>advapi32</library> <library>advapi32</library>
<library>imm32</library> <library>imm32</library>
<library>win32ksys</library>
<directory name="include"> <directory name="include">
<pch>user32.h</pch> <pch>user32.h</pch>
</directory> </directory>
@ -46,21 +48,6 @@
<file>winhelp.c</file> <file>winhelp.c</file>
<file>winsta.c</file> <file>winsta.c</file>
<file>wsprintf.c</file> <file>wsprintf.c</file>
<if property="ARCH" value="i386">
<directory name="i386">
<file>win32k.S</file>
</directory>
</if>
<if property="ARCH" value="powerpc">
<directory name="powerpc">
<file>win32k.S</file>
</directory>
</if>
<if property="ARCH" value="mips">
<directory name="mips">
<file>win32k.S</file>
</directory>
</if>
</directory> </directory>
<directory name="windows"> <directory name="windows">
<file>accel.c</file> <file>accel.c</file>

View file

@ -40,5 +40,9 @@
<directory name="smlib"> <directory name="smlib">
<xi:include href="smlib/smlib.rbuild" /> <xi:include href="smlib/smlib.rbuild" />
</directory> </directory>
<directory name="win32ksys">
<xi:include href="win32ksys/win32ksys.rbuild" />
</directory>
</group> </group>

View file

@ -0,0 +1,22 @@
<module name="win32ksys" type="staticlibrary">
<define name="_DISABLE_TIDENTS" />
<define name="__REACTOS__" />
<define name="__USE_W32API" />
<if property="ARCH" value="i386">
<directory name="i386">
<file>win32k.S</file>
</directory>
</if>
<if property="ARCH" value="powerpc">
<directory name="powerpc">
<file>win32k.S</file>
</directory>
</if>
<if property="ARCH" value="mips">
<directory name="mips">
<file>win32k.S</file>
</directory>
</if>
</module>

View file

@ -139,8 +139,8 @@ GuiConsoleAppendMenuItems(HMENU hMenu,
hSubMenu = CreatePopupMenu(); hSubMenu = CreatePopupMenu();
if (hSubMenu != NULL) if (hSubMenu != NULL)
{ {
GuiConsoleAppendMenuItems(hSubMenu, /*GuiConsoleAppendMenuItems(hSubMenu,
Items[i].SubMenu); Items[i].SubMenu);*/
if (!AppendMenuW(hMenu, if (!AppendMenuW(hMenu,
MF_STRING | MF_POPUP, MF_STRING | MF_POPUP,
@ -148,6 +148,7 @@ GuiConsoleAppendMenuItems(HMENU hMenu,
szMenuString)) szMenuString))
{ {
DestroyMenu(hSubMenu); DestroyMenu(hSubMenu);
DPRINT1("DestroyMenu \n");
} }
} }
} }
@ -179,9 +180,14 @@ GuiConsoleCreateSysMenu(PCSRSS_CONSOLE Console)
FALSE); FALSE);
if (hMenu != NULL) if (hMenu != NULL)
{ {
DPRINT1("adding menu\n");
GuiConsoleAppendMenuItems(hMenu, GuiConsoleAppendMenuItems(hMenu,
GuiConsoleMainMenuItems); GuiConsoleMainMenuItems);
} }
else
{
DPRINT1("This should never happen, GetSystemMenu == NULL \n");
}
} }
static VOID FASTCALL static VOID FASTCALL
@ -236,10 +242,12 @@ GuiConsoleOpenUserRegistryPathPerProcessId(DWORD ProcessId, PHANDLE hProcHandle,
RtlFreeUnicodeString(&SidName); RtlFreeUnicodeString(&SidName);
CloseHandle(hProcessToken); CloseHandle(hProcessToken);
if (hProcHandle) CloseHandle(hProcess);
*hProcHandle = hProcess;
else //if (hProcHandle)
CloseHandle(hProcess); // *hProcHandle = hProcess;
//else
// CloseHandle(hProcess);
if (res != ERROR_SUCCESS) if (res != ERROR_SUCCESS)
return FALSE; return FALSE;
@ -276,21 +284,26 @@ GuiConsoleOpenUserSettings(PGUI_CONSOLE_DATA GuiData, DWORD ProcessId, PHKEY hSu
DPRINT("GuiConsoleOpenUserSettings entered\n"); DPRINT("GuiConsoleOpenUserSettings entered\n");
DPRINT1("ProcessId %d\n",ProcessId);
if (!GuiConsoleOpenUserRegistryPathPerProcessId(ProcessId, &hProcess, &hKey, samDesired)) if (!GuiConsoleOpenUserRegistryPathPerProcessId(ProcessId, &hProcess, &hKey, samDesired))
{ {
DPRINT("GuiConsoleOpenUserRegistryPathPerProcessId failed\n"); DPRINT1("GuiConsoleOpenUserRegistryPathPerProcessId failed\n");
return FALSE; return FALSE;
} }
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, ProcessId );
/* FIXME we do not getting the process name so no menu will be loading, why ?*/ /* FIXME we do not getting the process name so no menu will be loading, why ?*/
fLength = GetProcessImageFileNameW(hProcess, szProcessName, sizeof(GuiData->szProcessName) / sizeof(WCHAR)); fLength = GetProcessImageFileNameW(hProcess, szProcessName, sizeof(GuiData->szProcessName) / sizeof(WCHAR));
CloseHandle(hProcess); CloseHandle(hProcess);
//DPRINT1("szProcessName3 : %S\n",szProcessName); DPRINT1("szProcessName3 : %S\n",szProcessName);
if (!fLength) if (!fLength)
{ {
DPRINT("GetProcessImageFileNameW failed(0x%x)ProcessId %d\n", GetLastError(),hProcess); DPRINT1("GetProcessImageFileNameW failed(0x%x)ProcessId %d\n", GetLastError(),hProcess);
return FALSE; return FALSE;
} }
/* /*
@ -658,6 +671,8 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
if (Console->ProcessList.Flink != &Console->ProcessList) if (Console->ProcessList.Flink != &Console->ProcessList)
{ {
ProcessData = CONTAINING_RECORD(Console->ProcessList.Flink, CSRSS_PROCESS_DATA, ProcessEntry); ProcessData = CONTAINING_RECORD(Console->ProcessList.Flink, CSRSS_PROCESS_DATA, ProcessEntry);
DPRINT1("PtrToUlong(ProcessData->ProcessId) == %d",PtrToUlong(ProcessData->ProcessId));
if (GuiConsoleOpenUserSettings(GuiData, PtrToUlong(ProcessData->ProcessId), &hKey, KEY_READ, FALSE)) if (GuiConsoleOpenUserSettings(GuiData, PtrToUlong(ProcessData->ProcessId), &hKey, KEY_READ, FALSE))
{ {
GuiConsoleReadUserSettings(hKey, Console, GuiData, Console->ActiveBuffer); GuiConsoleReadUserSettings(hKey, Console, GuiData, Console->ActiveBuffer);
@ -1263,13 +1278,20 @@ GuiConsoleHandleNcDestroy(HWND hWnd)
{ {
PCSRSS_CONSOLE Console; PCSRSS_CONSOLE Console;
PGUI_CONSOLE_DATA GuiData; PGUI_CONSOLE_DATA GuiData;
HMENU menu;
GuiConsoleGetDataPointers(hWnd, &Console, &GuiData); GuiConsoleGetDataPointers(hWnd, &Console, &GuiData);
KillTimer(hWnd, 1); KillTimer(hWnd, 1);
Console->PrivateData = NULL; Console->PrivateData = NULL;
DeleteCriticalSection(&GuiData->Lock); DeleteCriticalSection(&GuiData->Lock);
GetSystemMenu(hWnd, TRUE);
menu = GetSystemMenu(hWnd, TRUE);
if (menu == NULL)
{
DPRINT1("This should never happen, GetSystemMenu == NULL \n");
}
if (GuiData->ConsoleLibrary) if (GuiData->ConsoleLibrary)
FreeLibrary(GuiData->ConsoleLibrary); FreeLibrary(GuiData->ConsoleLibrary);

View file

@ -44,8 +44,9 @@ clean: nci_clean
# WIN32K.SYS # WIN32K.SYS
WIN32K_SVC_DB = subsystems$(SEP)win32$(SEP)win32k$(SEP)w32ksvc.db WIN32K_SVC_DB = subsystems$(SEP)win32$(SEP)win32k$(SEP)w32ksvc.db
WIN32K_SERVICE_TABLE = subsystems$(SEP)win32$(SEP)win32k$(SEP)include$(SEP)napi.h WIN32K_SERVICE_TABLE = subsystems$(SEP)win32$(SEP)win32k$(SEP)include$(SEP)napi.h
WIN32K_GDI_STUBS = dll$(SEP)win32$(SEP)gdi32$(SEP)misc$(SEP)$(ARCH)$(SEP)win32k.S WIN32K_GDI_STUBS = lib$(SEP)win32ksys$(SEP)$(ARCH)$(SEP)win32k.S
WIN32K_USER_STUBS = dll$(SEP)win32$(SEP)user32$(SEP)misc$(SEP)$(ARCH)$(SEP)win32k.S WIN32K_USER_STUBS = lib$(SEP)win32ksys$(SEP)$(ARCH)$(SEP)win32k.S
# NTOSKRNL.EXE # NTOSKRNL.EXE
@ -69,6 +70,7 @@ $(NCI_SERVICE_FILES): $(NCI_TARGET) $(KERNEL_SVC_DB) $(WIN32K_SVC_DB)
${mkdir} dll$(SEP)win32$(SEP)gdi32$(SEP)misc$(SEP)$(ARCH) 2>$(NUL) ${mkdir} dll$(SEP)win32$(SEP)gdi32$(SEP)misc$(SEP)$(ARCH) 2>$(NUL)
${mkdir} dll$(SEP)win32$(SEP)user32$(SEP)misc$(SEP)$(ARCH) 2>$(NUL) ${mkdir} dll$(SEP)win32$(SEP)user32$(SEP)misc$(SEP)$(ARCH) 2>$(NUL)
${mkdir} lib$(SEP)win32ksys$(SEP)$(ARCH) 2>$(NUL) ${mkdir} lib$(SEP)win32ksys$(SEP)$(ARCH) 2>$(NUL)
$(Q)$(NCI_TARGET) -arch $(ARCH) \ $(Q)$(NCI_TARGET) -arch $(ARCH) \
$(KERNEL_SVC_DB) \ $(KERNEL_SVC_DB) \
$(WIN32K_SVC_DB) \ $(WIN32K_SVC_DB) \