- Compile Win32k, GDI, USER32 and CSRSS using W32API.

svn path=/trunk/; revision=9053
This commit is contained in:
Filip Navara 2004-04-09 20:03:21 +00:00
parent db6bcc0793
commit 31c1c21824
128 changed files with 1494 additions and 886 deletions

View file

@ -3,7 +3,7 @@
#include <windows.h>
#include <ddk/ntddblue.h>
#include <ntos/keyboard.h>
#include <ntos.h>
#define CSR_PRIORITY_CLASS_NORMAL (0x10)
#define CSR_PRIORITY_CLASS_IDLE (0x20)
@ -535,7 +535,7 @@ typedef struct
#define CSRSS_MAX_WRITE_CONSOLE_REQUEST \
(MAX_MESSAGE_DATA - sizeof(ULONG) - sizeof(CSRSS_WRITE_CONSOLE_REQUEST))
#define CSRSS_MAX_SET_TITLE_REQUEST (MAX_MESSAGE_DATA - sizeof( HANDLE ) - sizeof( DWORD ) - sizeof( ULONG ) - sizeof( LPC_MESSAGE ))
#define CSRSS_MAX_SET_TITLE_REQUEST (MAX_MESSAGE_DATA - sizeof( HANDLE ) - sizeof( DWORD ) - sizeof( ULONG ) - LPC_MESSAGE_BASE_SIZE)
#define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (MAX_MESSAGE_DATA - sizeof( ULONG ) - sizeof( CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST ))
@ -599,99 +599,113 @@ typedef struct
#define CSRSS_SET_CONSOLE_ICON (0x2E)
/* Keep in sync with definition below. */
#define CSRSS_REQUEST_HEADER_SIZE (sizeof(LPC_MESSAGE) + sizeof(ULONG))
#define CSRSS_REQUEST_HEADER_SIZE (LPC_MESSAGE_BASE_SIZE + sizeof(ULONG))
typedef struct
{
LPC_MESSAGE Header;
ULONG Type;
union
{
CSRSS_CREATE_PROCESS_REQUEST CreateProcessRequest;
CSRSS_CONNECT_PROCESS_REQUEST ConnectRequest;
CSRSS_WRITE_CONSOLE_REQUEST WriteConsoleRequest;
CSRSS_READ_CONSOLE_REQUEST ReadConsoleRequest;
CSRSS_ALLOC_CONSOLE_REQUEST AllocConsoleRequest;
CSRSS_SCREEN_BUFFER_INFO_REQUEST ScreenBufferInfoRequest;
CSRSS_SET_CURSOR_REQUEST SetCursorRequest;
CSRSS_FILL_OUTPUT_REQUEST FillOutputRequest;
CSRSS_READ_INPUT_REQUEST ReadInputRequest;
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST WriteConsoleOutputCharRequest;
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REQUEST WriteConsoleOutputAttribRequest;
CSRSS_FILL_OUTPUT_ATTRIB_REQUEST FillOutputAttribRequest;
CSRSS_SET_CURSOR_INFO_REQUEST SetCursorInfoRequest;
CSRSS_GET_CURSOR_INFO_REQUEST GetCursorInfoRequest;
CSRSS_SET_ATTRIB_REQUEST SetAttribRequest;
CSRSS_SET_CONSOLE_MODE_REQUEST SetConsoleModeRequest;
CSRSS_GET_CONSOLE_MODE_REQUEST GetConsoleModeRequest;
CSRSS_CREATE_SCREEN_BUFFER_REQUEST CreateScreenBufferRequest;
CSRSS_SET_SCREEN_BUFFER_REQUEST SetScreenBufferRequest;
CSRSS_SET_TITLE_REQUEST SetTitleRequest;
CSRSS_GET_TITLE_REQUEST GetTitleRequest;
CSRSS_WRITE_CONSOLE_OUTPUT_REQUEST WriteConsoleOutputRequest;
CSRSS_FLUSH_INPUT_BUFFER_REQUEST FlushInputBufferRequest;
CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER_REQUEST
ScrollConsoleScreenBufferRequest;
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REQUEST ReadConsoleOutputCharRequest;
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REQUEST ReadConsoleOutputAttribRequest;
CSRSS_GET_NUM_INPUT_EVENTS_REQUEST GetNumInputEventsRequest;
CSRSS_REGISTER_SERVICES_PROCESS_REQUEST RegisterServicesProcessRequest;
CSRSS_EXIT_REACTOS_REQUEST ExitReactosRequest;
CSRSS_SET_SHUTDOWN_PARAMETERS_REQUEST SetShutdownParametersRequest;
CSRSS_GET_SHUTDOWN_PARAMETERS_REQUEST GetShutdownParametersRequest;
CSRSS_PEEK_CONSOLE_INPUT_REQUEST PeekConsoleInputRequest;
CSRSS_READ_CONSOLE_OUTPUT_REQUEST ReadConsoleOutputRequest;
CSRSS_WRITE_CONSOLE_INPUT_REQUEST WriteConsoleInputRequest;
CSRSS_CLOSE_HANDLE_REQUEST CloseHandleRequest;
CSRSS_VERIFY_HANDLE_REQUEST VerifyHandleRequest;
CSRSS_DUPLICATE_HANDLE_REQUEST DuplicateHandleRequest;
CSRSS_SETGET_CONSOLE_HW_STATE_REQUEST ConsoleHardwareStateRequest;
CSRSS_CONSOLE_WINDOW ConsoleWindowRequest;
CSRSS_CREATE_DESKTOP_REQUEST CreateDesktopRequest;
CSRSS_SHOW_DESKTOP_REQUEST ShowDesktopRequest;
CSRSS_HIDE_DESKTOP_REQUEST HideDesktopRequest;
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconRequest;
} Data;
LPC_MESSAGE Header;
struct
{
BYTE HeaderReserved[LPC_MESSAGE_BASE_SIZE];
ULONG Type;
union
{
CSRSS_CREATE_PROCESS_REQUEST CreateProcessRequest;
CSRSS_CONNECT_PROCESS_REQUEST ConnectRequest;
CSRSS_WRITE_CONSOLE_REQUEST WriteConsoleRequest;
CSRSS_READ_CONSOLE_REQUEST ReadConsoleRequest;
CSRSS_ALLOC_CONSOLE_REQUEST AllocConsoleRequest;
CSRSS_SCREEN_BUFFER_INFO_REQUEST ScreenBufferInfoRequest;
CSRSS_SET_CURSOR_REQUEST SetCursorRequest;
CSRSS_FILL_OUTPUT_REQUEST FillOutputRequest;
CSRSS_READ_INPUT_REQUEST ReadInputRequest;
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST WriteConsoleOutputCharRequest;
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REQUEST WriteConsoleOutputAttribRequest;
CSRSS_FILL_OUTPUT_ATTRIB_REQUEST FillOutputAttribRequest;
CSRSS_SET_CURSOR_INFO_REQUEST SetCursorInfoRequest;
CSRSS_GET_CURSOR_INFO_REQUEST GetCursorInfoRequest;
CSRSS_SET_ATTRIB_REQUEST SetAttribRequest;
CSRSS_SET_CONSOLE_MODE_REQUEST SetConsoleModeRequest;
CSRSS_GET_CONSOLE_MODE_REQUEST GetConsoleModeRequest;
CSRSS_CREATE_SCREEN_BUFFER_REQUEST CreateScreenBufferRequest;
CSRSS_SET_SCREEN_BUFFER_REQUEST SetScreenBufferRequest;
CSRSS_SET_TITLE_REQUEST SetTitleRequest;
CSRSS_GET_TITLE_REQUEST GetTitleRequest;
CSRSS_WRITE_CONSOLE_OUTPUT_REQUEST WriteConsoleOutputRequest;
CSRSS_FLUSH_INPUT_BUFFER_REQUEST FlushInputBufferRequest;
CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER_REQUEST
ScrollConsoleScreenBufferRequest;
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REQUEST ReadConsoleOutputCharRequest;
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REQUEST ReadConsoleOutputAttribRequest;
CSRSS_GET_NUM_INPUT_EVENTS_REQUEST GetNumInputEventsRequest;
CSRSS_REGISTER_SERVICES_PROCESS_REQUEST RegisterServicesProcessRequest;
CSRSS_EXIT_REACTOS_REQUEST ExitReactosRequest;
CSRSS_SET_SHUTDOWN_PARAMETERS_REQUEST SetShutdownParametersRequest;
CSRSS_GET_SHUTDOWN_PARAMETERS_REQUEST GetShutdownParametersRequest;
CSRSS_PEEK_CONSOLE_INPUT_REQUEST PeekConsoleInputRequest;
CSRSS_READ_CONSOLE_OUTPUT_REQUEST ReadConsoleOutputRequest;
CSRSS_WRITE_CONSOLE_INPUT_REQUEST WriteConsoleInputRequest;
CSRSS_CLOSE_HANDLE_REQUEST CloseHandleRequest;
CSRSS_VERIFY_HANDLE_REQUEST VerifyHandleRequest;
CSRSS_DUPLICATE_HANDLE_REQUEST DuplicateHandleRequest;
CSRSS_SETGET_CONSOLE_HW_STATE_REQUEST ConsoleHardwareStateRequest;
CSRSS_CONSOLE_WINDOW ConsoleWindowRequest;
CSRSS_CREATE_DESKTOP_REQUEST CreateDesktopRequest;
CSRSS_SHOW_DESKTOP_REQUEST ShowDesktopRequest;
CSRSS_HIDE_DESKTOP_REQUEST HideDesktopRequest;
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconRequest;
} Data;
};
};
} CSRSS_API_REQUEST, *PCSRSS_API_REQUEST;
typedef struct
{
LPC_MESSAGE Header;
NTSTATUS Status;
union
{
CSRSS_CREATE_PROCESS_REPLY CreateProcessReply;
CSRSS_CONNECT_PROCESS_REPLY ConnectReply;
CSRSS_WRITE_CONSOLE_REPLY WriteConsoleReply;
CSRSS_READ_CONSOLE_REPLY ReadConsoleReply;
CSRSS_ALLOC_CONSOLE_REPLY AllocConsoleReply;
CSRSS_SCREEN_BUFFER_INFO_REPLY ScreenBufferInfoReply;
CSRSS_READ_INPUT_REPLY ReadInputReply;
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REPLY WriteConsoleOutputCharReply;
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REPLY WriteConsoleOutputAttribReply;
CSRSS_GET_CURSOR_INFO_REPLY GetCursorInfoReply;
CSRSS_GET_CONSOLE_MODE_REPLY GetConsoleModeReply;
CSRSS_CREATE_SCREEN_BUFFER_REPLY CreateScreenBufferReply;
CSRSS_GET_TITLE_REPLY GetTitleReply;
CSRSS_WRITE_CONSOLE_OUTPUT_REPLY WriteConsoleOutputReply;
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REPLY ReadConsoleOutputCharReply;
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REPLY ReadConsoleOutputAttribReply;
CSRSS_GET_NUM_INPUT_EVENTS_REPLY GetNumInputEventsReply;
CSRSS_SET_SHUTDOWN_PARAMETERS_REPLY SetShutdownParametersReply;
CSRSS_GET_SHUTDOWN_PARAMETERS_REPLY GetShutdownParametersReply;
CSRSS_PEEK_CONSOLE_INPUT_REPLY PeekConsoleInputReply;
CSRSS_READ_CONSOLE_OUTPUT_REPLY ReadConsoleOutputReply;
CSRSS_WRITE_CONSOLE_INPUT_REPLY WriteConsoleInputReply;
CSRSS_GET_INPUT_HANDLE_REPLY GetInputHandleReply;
CSRSS_GET_OUTPUT_HANDLE_REPLY GetOutputHandleReply;
CSRSS_DUPLICATE_HANDLE_REPLY DuplicateHandleReply;
CSRSS_SETGET_CONSOLE_HW_STATE_REPLY ConsoleHardwareStateReply;
CSRSS_CONSOLE_WINDOW ConsoleWindowReply;
CSRSS_CREATE_DESKTOP_REPLY CreateDesktopReply;
CSRSS_SHOW_DESKTOP_REPLY ShowDesktopReply;
CSRSS_HIDE_DESKTOP_REPLY HideDesktopReply;
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconReply;
} Data;
LPC_MESSAGE Header;
struct
{
BYTE HeaderReserved[LPC_MESSAGE_BASE_SIZE];
NTSTATUS Status;
union
{
CSRSS_CREATE_PROCESS_REPLY CreateProcessReply;
CSRSS_CONNECT_PROCESS_REPLY ConnectReply;
CSRSS_WRITE_CONSOLE_REPLY WriteConsoleReply;
CSRSS_READ_CONSOLE_REPLY ReadConsoleReply;
CSRSS_ALLOC_CONSOLE_REPLY AllocConsoleReply;
CSRSS_SCREEN_BUFFER_INFO_REPLY ScreenBufferInfoReply;
CSRSS_READ_INPUT_REPLY ReadInputReply;
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REPLY WriteConsoleOutputCharReply;
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REPLY WriteConsoleOutputAttribReply;
CSRSS_GET_CURSOR_INFO_REPLY GetCursorInfoReply;
CSRSS_GET_CONSOLE_MODE_REPLY GetConsoleModeReply;
CSRSS_CREATE_SCREEN_BUFFER_REPLY CreateScreenBufferReply;
CSRSS_GET_TITLE_REPLY GetTitleReply;
CSRSS_WRITE_CONSOLE_OUTPUT_REPLY WriteConsoleOutputReply;
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REPLY ReadConsoleOutputCharReply;
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REPLY ReadConsoleOutputAttribReply;
CSRSS_GET_NUM_INPUT_EVENTS_REPLY GetNumInputEventsReply;
CSRSS_SET_SHUTDOWN_PARAMETERS_REPLY SetShutdownParametersReply;
CSRSS_GET_SHUTDOWN_PARAMETERS_REPLY GetShutdownParametersReply;
CSRSS_PEEK_CONSOLE_INPUT_REPLY PeekConsoleInputReply;
CSRSS_READ_CONSOLE_OUTPUT_REPLY ReadConsoleOutputReply;
CSRSS_WRITE_CONSOLE_INPUT_REPLY WriteConsoleInputReply;
CSRSS_GET_INPUT_HANDLE_REPLY GetInputHandleReply;
CSRSS_GET_OUTPUT_HANDLE_REPLY GetOutputHandleReply;
CSRSS_DUPLICATE_HANDLE_REPLY DuplicateHandleReply;
CSRSS_SETGET_CONSOLE_HW_STATE_REPLY ConsoleHardwareStateReply;
CSRSS_CONSOLE_WINDOW ConsoleWindowReply;
CSRSS_CREATE_DESKTOP_REPLY CreateDesktopReply;
CSRSS_SHOW_DESKTOP_REPLY ShowDesktopReply;
CSRSS_HIDE_DESKTOP_REPLY HideDesktopReply;
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconReply;
} Data;
};
};
} CSRSS_API_REPLY, *PCSRSS_API_REPLY;
#endif /* __INCLUDE_CSRSS_CSRSS_H */

View file

@ -16,9 +16,9 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <ddk/winddi.h>
#include <ddk/ddrawi.h>
#include <ddk/d3dhal.h>
#include <ddk/winddi.h>
BOOL STDCALL DdCreateDirectDrawObject(
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
HDC hdc

View file

@ -19,8 +19,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_DDRAWI_H
#define __WINE_DDRAWI_H
#ifndef __DDRAWI_INCLUDED__
#define __DDRAWI_INCLUDED__
#ifdef __cplusplus
extern "C" {
@ -616,7 +616,9 @@ typedef struct _DDHAL_GETDRIVERINFODATA {
/*****************************************************************************
* high-level ddraw implementation structures
*/
#ifndef __USE_W32API
typedef DWORD IUnknown; /* FIXME: implement proper definition */
#endif
typedef struct _IUNKNOWN_LIST {
struct _IUNKNOWN_LIST * lpLink;
LPGUID lpGuid;
@ -1326,4 +1328,4 @@ typedef struct _DDHAL_WAITFORVERTICALBLANKDATA
} /* extern "C" */
#endif
#endif /* __WINE_DDRAWI_H */
#endif /* __DDRAWI_INCLUDED__ */

View file

@ -2,8 +2,8 @@
* DirectDraw NT driver interface
*/
#ifndef __DDK_DDRAWINT_H
#define __DDK_DDRAWINT_H
#ifndef __DD_INCLUDED__
#define __DD_INCLUDED__
#include <ddraw.h>
#include <ole32/guiddef.h>
@ -1233,4 +1233,4 @@ typedef struct
} /* extern "C" */
#endif
#endif /* __DDK_DDRAWINT_H */
#endif /* __DD_INCLUDED__ */

View file

@ -98,7 +98,7 @@ typedef struct _PEB_LDR_DATA
LIST_ENTRY InInitializationOrderModuleList;
} PEB_LDR_DATA, *PPEB_LDR_DATA;
typedef VOID STDCALL_FUNC (*PPEBLOCKROUTINE)(PVOID);
typedef VOID (STDCALL *PPEBLOCKROUTINE)(PVOID);
typedef struct _PEB
{

View file

@ -1,5 +1,5 @@
/* $Id: zw.h,v 1.21 2004/01/06 15:57:48 ekohl Exp $
/* $Id: zw.h,v 1.22 2004/04/09 20:03:11 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -4446,10 +4446,12 @@ NtGetPlugPlayEvent (ULONG Reserved1,
/* --- POWER MANAGEMENT --- */
#ifndef __USE_W32API
NTSTATUS STDCALL
NtSetSystemPowerState(IN POWER_ACTION SystemAction,
IN SYSTEM_POWER_STATE MinSystemState,
IN ULONG Flags);
#endif
/* --- DEBUG SUBSYSTEM --- */

View file

@ -1706,6 +1706,12 @@ typedef struct _LPC_MESSAGE
ULONG SectionSize; /* CallbackID */
} LPC_MESSAGE, *PLPC_MESSAGE;
#define PORT_MESSAGE_TYPE(m) (LPC_TYPE)((m).Header.MessageType)
#define PORT_MAX_DATA_LENGTH 0x104
#define PORT_MAX_MESSAGE_LENGTH 0x148
#endif /* __USE_W32API */
#define MAX_MESSAGE_DATA (0x130)
@ -1715,14 +1721,6 @@ typedef struct _LPC_MAX_MESSAGE
BYTE Data[MAX_MESSAGE_DATA];
} LPC_MAX_MESSAGE, *PLPC_MAX_MESSAGE;
#define PORT_MESSAGE_TYPE(m) (LPC_TYPE)((m).Header.MessageType)
#define PORT_MAX_DATA_LENGTH 0x104
#define PORT_MAX_MESSAGE_LENGTH 0x148
#endif /* __USE_W32API */
typedef struct _LPC_PORT_BASIC_INFORMATION
{
DWORD Unknown0;

View file

@ -71,6 +71,13 @@ typedef struct
#define BRUSHOBJ_LockBrush(hBrush) ((PGDIBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH))
#define BRUSHOBJ_UnlockBrush(hBrush) GDIOBJ_UnlockObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH)
#ifdef __USE_W32API
typedef struct _PATRECT {
RECT r;
HBRUSH hBrush;
} PATRECT, * PPATRECT;
#endif
HBRUSH STDCALL
NtGdiCreateBrushIndirect(
CONST LOGBRUSH *LogBrush);

View file

@ -4,8 +4,8 @@
#include <ddk/winddi.h>
typedef BOOL STDCALL_FUNC (*PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
typedef DHPDEV STDCALL_FUNC (*PGD_ENABLEPDEV)(DEVMODEW *,
typedef BOOL (STDCALL *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
typedef DHPDEV (STDCALL *PGD_ENABLEPDEV)(DEVMODEW *,
LPWSTR,
ULONG,
HSURF *,
@ -16,86 +16,86 @@ typedef DHPDEV STDCALL_FUNC (*PGD_ENABLEPDEV)(DEVMODEW *,
LPWSTR,
LPWSTR,
HANDLE);
typedef VOID STDCALL_FUNC (*PGD_COMPLETEPDEV)(DHPDEV, HDEV);
typedef VOID STDCALL_FUNC (*PGD_DISABLEPDEV)(DHPDEV);
typedef HSURF STDCALL_FUNC (*PGD_ENABLESURFACE)(DHPDEV);
typedef VOID STDCALL_FUNC (*PGD_DISABLESURFACE)(DHPDEV);
typedef BOOL STDCALL_FUNC (*PGD_ASSERTMODE)(DHPDEV, BOOL);
typedef BOOL STDCALL_FUNC (*PGD_RESETPDEV)(DHPDEV, DHPDEV);
typedef HBITMAP STDCALL_FUNC (*PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
typedef VOID STDCALL_FUNC (*PGD_DELETEDEVICEBITMAP)(DHSURF);
typedef BOOL STDCALL_FUNC (*PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*,
typedef VOID (STDCALL *PGD_COMPLETEPDEV)(DHPDEV, HDEV);
typedef VOID (STDCALL *PGD_DISABLEPDEV)(DHPDEV);
typedef HSURF (STDCALL *PGD_ENABLESURFACE)(DHPDEV);
typedef VOID (STDCALL *PGD_DISABLESURFACE)(DHPDEV);
typedef BOOL (STDCALL *PGD_ASSERTMODE)(DHPDEV, BOOL);
typedef BOOL (STDCALL *PGD_RESETPDEV)(DHPDEV, DHPDEV);
typedef HBITMAP (STDCALL *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
typedef VOID (STDCALL *PGD_DELETEDEVICEBITMAP)(DHSURF);
typedef BOOL (STDCALL *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*,
XLATEOBJ*, ULONG);
typedef ULONG STDCALL_FUNC (*PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
typedef BOOL STDCALL_FUNC (*PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*,
typedef ULONG (STDCALL *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
typedef BOOL (STDCALL *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*,
BRUSHOBJ*, POINTL*, PLINEATTRS, MIX);
typedef BOOL STDCALL_FUNC (*PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*,
typedef BOOL (STDCALL *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*,
POINTL*, MIX, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*,
typedef BOOL (STDCALL *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*,
XFORMOBJ*, BRUSHOBJ*, PLINEATTRS,
BRUSHOBJ*, POINTL*, MIX, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
typedef BOOL STDCALL_FUNC (*PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
typedef BOOL (STDCALL *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
typedef BOOL (STDCALL *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*,
POINTL*, ROP4);
typedef BOOL STDCALL_FUNC (*PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
RECTL*, POINTL*);
typedef BOOL STDCALL_FUNC (*PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
typedef BOOL (STDCALL *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, COLORADJUSTMENT*, POINTL*,
RECTL*, RECTL*, POINTL*, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*,
typedef BOOL (STDCALL *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*,
RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX);
typedef ULONG STDCALL_FUNC (*PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
typedef ULONG STDCALL_FUNC (*PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG,
typedef ULONG (STDCALL *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
typedef ULONG (STDCALL *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG,
PVOID *);
typedef PIFIMETRICS STDCALL_FUNC (*PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
typedef PVOID STDCALL_FUNC (*PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
typedef LONG STDCALL_FUNC (*PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*,
typedef PIFIMETRICS (STDCALL *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
typedef PVOID (STDCALL *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
typedef LONG (STDCALL *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*,
PVOID, ULONG);
typedef ULONG STDCALL_FUNC (*PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*,
typedef ULONG (STDCALL *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*,
LONG, LONG, LONG, LONG, RECTL*, ULONG);
typedef VOID STDCALL_FUNC (*PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
typedef BOOL STDCALL_FUNC (*PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG,
typedef VOID (STDCALL *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
typedef BOOL (STDCALL *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG,
LONG, RECTL*, MIX);
typedef BOOL STDCALL_FUNC (*PGD_SENDPAGE)(SURFOBJ*);
typedef BOOL STDCALL_FUNC (*PGD_STARTPAGE)(SURFOBJ*);
typedef BOOL STDCALL_FUNC (*PGD_ENDDOC)(SURFOBJ*, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
typedef ULONG STDCALL_FUNC (*PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
typedef VOID STDCALL_FUNC (*PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
typedef ULONG STDCALL_FUNC (*PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
typedef ULONG STDCALL_FUNC (*PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
typedef VOID STDCALL_FUNC (*PGD_FREE)(PVOID, ULONG);
typedef VOID STDCALL_FUNC (*PGD_DESTROYFONT)(FONTOBJ*);
typedef LONG STDCALL_FUNC (*PGD_QUERYFONTCAPS)(ULONG, PULONG);
typedef ULONG STDCALL_FUNC (*PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_UNLOADFONTFILE)(ULONG);
typedef ULONG STDCALL_FUNC (*PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID,
typedef BOOL (STDCALL *PGD_SENDPAGE)(SURFOBJ*);
typedef BOOL (STDCALL *PGD_STARTPAGE)(SURFOBJ*);
typedef BOOL (STDCALL *PGD_ENDDOC)(SURFOBJ*, ULONG);
typedef BOOL (STDCALL *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
typedef ULONG (STDCALL *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
typedef VOID (STDCALL *PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
typedef ULONG (STDCALL *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
typedef ULONG (STDCALL *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
typedef VOID (STDCALL *PGD_FREE)(PVOID, ULONG);
typedef VOID (STDCALL *PGD_DESTROYFONT)(FONTOBJ*);
typedef LONG (STDCALL *PGD_QUERYFONTCAPS)(ULONG, PULONG);
typedef ULONG (STDCALL *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_UNLOADFONTFILE)(ULONG);
typedef ULONG (STDCALL *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID,
ULONG, PVOID);
typedef LONG STDCALL_FUNC (*PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
typedef LONG (STDCALL *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
PBYTE);
typedef LONG STDCALL_FUNC (*PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL,
typedef LONG (STDCALL *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL,
GLYPHDATA*, ULONG, TTPOLYGONHEADER*);
typedef PVOID STDCALL_FUNC (*PGD_GETTRUETYPEFILE)(ULONG, PULONG);
typedef LONG STDCALL_FUNC (*PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
typedef BOOL STDCALL_FUNC (*PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *,
typedef PVOID (STDCALL *PGD_GETTRUETYPEFILE)(ULONG, PULONG);
typedef LONG (STDCALL *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
typedef BOOL (STDCALL *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *,
PVOID *, ULONG);
typedef BOOL STDCALL_FUNC (*PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
typedef LONG STDCALL_FUNC (*PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
typedef BOOL (STDCALL *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
typedef LONG (STDCALL *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
PPIXELFORMATDESCRIPTOR);
typedef BOOL STDCALL_FUNC (*PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
typedef BOOL STDCALL_FUNC (*PGD_STARTBANDING)(SURFOBJ*, POINTL*);
typedef BOOL STDCALL_FUNC (*PGD_NEXTBAND)(SURFOBJ*, POINTL*);
typedef BOOL (STDCALL *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
typedef BOOL (STDCALL *PGD_STARTBANDING)(SURFOBJ*, POINTL*);
typedef BOOL (STDCALL *PGD_NEXTBAND)(SURFOBJ*, POINTL*);
typedef BOOL STDCALL_FUNC (*PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
typedef BOOL STDCALL_FUNC (*PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
typedef VOID STDCALL_FUNC (*PGD_DISABLEDIRECTDRAW)(DHPDEV);
typedef BOOL (STDCALL *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
typedef BOOL (STDCALL *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
typedef VOID (STDCALL *PGD_DISABLEDIRECTDRAW)(DHPDEV);
typedef LONG STDCALL_FUNC (*PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
typedef LONG (STDCALL *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
typedef BOOL STDCALL_FUNC (*PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
typedef BOOL (STDCALL *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
typedef struct _DRIVER_FUNCTIONS
{

View file

@ -1,5 +1,6 @@
#ifndef _WIN32K_KAPI_H
#define _WIN32K_KAPI_H
#include <win32k/ntddraw.h>
#include <win32k/bitmaps.h>
#include <win32k/brush.h>
#include <win32k/cliprgn.h>
@ -23,5 +24,4 @@
#include <win32k/region.h>
#include <win32k/text.h>
#include <win32k/wingl.h>
#include <win32k/ntddraw.h>
#endif /* ndef _WIN32K_KAPI_H */

View file

@ -1,6 +1,10 @@
#ifndef __WIN32K_NTUSER_H
#define __WIN32K_NTUSER_H
#include <ddk/ntapi.h>
#define WM_SYSTIMER 280
ULONG STDCALL
NtUserGetSystemMetrics(ULONG Index);

View file

@ -39,7 +39,7 @@ NtGdiSetAbortProc(HDC hDC,
INT
STDCALL
NtGdiStartDoc(HDC hDC,
CONST PDOCINFOW di);
CONST LPDOCINFOW di);
INT
STDCALL

View file

@ -7,7 +7,7 @@
/* Internal region data. Can't use RGNDATA structure because buffer is allocated statically */
typedef struct _ROSRGNDATA {
RGNDATAHEADER rdh;
char* Buffer;
PRECT Buffer;
RECT BuiltInRect; /* Testing shows that > 95% of all regions have only 1 rect.
Including that here saves us from having to do another
allocation */

View file

@ -1,9 +1,9 @@
/*
* dllmain.c
*
* $Revision: 1.8 $
* $Author: royce $
* $Date: 2003/08/04 00:28:44 $
* $Revision: 1.9 $
* $Author: navaraf $
* $Date: 2004/04/09 20:03:11 $
*
*/
@ -27,6 +27,14 @@ DllMain (
}
VOID
WINAPI
GdiProcessSetup (VOID)
{
hProcessHeap = GetProcessHeap();
}
/*
* @implemented
*/
@ -60,12 +68,4 @@ GdiDllInitialize (
return TRUE;
}
VOID
WINAPI
GdiProcessSetup (VOID)
{
hProcessHeap = RtlGetProcessHeap();
}
/* EOF */

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.36 2004/03/23 00:18:54 gvg Exp $
# $Id: makefile,v 1.37 2004/04/09 20:03:11 navaraf Exp $
PATH_TO_TOP = ../..
@ -15,7 +15,10 @@ TARGET_CFLAGS = \
-DUNICODE \
-Wall \
-Werror \
-fno-builtin
-fno-builtin \
-D__USE_W32API \
-DWINVER=0x0600 \
-D_WIN32_WINNT=0x0501
# require os code to explicitly request A/W version of structs/functions
TARGET_CFLAGS += -D_DISABLE_TIDENTS

View file

@ -3,6 +3,8 @@
#undef WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddk/ntddk.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <debug.h>
// global variables in a dll are process-global

View file

@ -1,4 +1,4 @@
/* $Id: stubs.c,v 1.51 2004/03/24 00:13:31 royce Exp $
/* $Id: stubs.c,v 1.52 2004/04/09 20:03:12 navaraf Exp $
*
* reactos/lib/gdi32/misc/stubs.c
*
@ -13,6 +13,20 @@
#endif
#include <windows.h>
#include <ddentry.h>
#include <ddk/prntfont.h>
#ifdef __USE_W32API
typedef int (CALLBACK* EMFPLAYPROC)( HDC, INT, HANDLE );
typedef DWORD FULLSCREENCONTROL;
typedef DWORD SHAREDHANDLETABLE;
typedef SHAREDHANDLETABLE *PSHAREDHANDLETABLE;
typedef DWORD UNIVERSAL_FONT_ID;
typedef UNIVERSAL_FONT_ID *PUNIVERSAL_FONT_ID;
typedef DWORD REALIZATION_INFO;
typedef REALIZATION_INFO *PREALIZATION_INFO;
typedef DWORD CHWIDTHINFO;
typedef CHWIDTHINFO *PCHWIDTHINFO;
#endif
/*
* @unimplemented
@ -135,7 +149,7 @@ STDCALL
EnumObjects(
HDC a0,
int a1,
ENUMOBJECTSPROC a2,
GOBJENUMPROC a2,
LPARAM a3
)
{
@ -614,7 +628,7 @@ STDCALL
EnumMetaFile(
HDC a0,
HMETAFILE a1,
ENUMMETAFILEPROC a2,
MFENUMPROC a2,
LPARAM a3
)
{
@ -659,7 +673,7 @@ STDCALL
EnumEnhMetaFile(
HDC a0,
HENHMETAFILE a1,
ENHMETAFILEPROC a2,
ENHMFENUMPROC a2,
LPVOID a3,
CONST RECT *a4
)
@ -792,9 +806,7 @@ SetWinMetaFileBits(
UINT a0,
CONST BYTE *a1,
HDC a2,
// CONST METAFILEPICT *a3
PVOID a3
)
CONST METAFILEPICT *a3)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
@ -1624,7 +1636,7 @@ wglGetLayerPaletteEntries(
int a1,
int a2,
int a3,
CONST COLORREF *a4
COLORREF *a4
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@ -1749,12 +1761,12 @@ GetGlyphOutlineWow(
/*
* @unimplemented
*/
DWORD
INT
STDCALL
GetRandomRgn(
DWORD a0,
DWORD a1,
DWORD a2
HDC a0,
HRGN a1,
INT a2
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@ -3200,7 +3212,7 @@ BRUSHOBJ_hGetColorTransform(BRUSHOBJ *pbo)
* @unimplemented
*/
PVOID STDCALL
BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
BRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj,
IN ULONG ObjSize)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@ -3211,7 +3223,7 @@ BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
* @unimplemented
*/
PVOID STDCALL
BRUSHOBJ_pvGetRbrush(IN PBRUSHOBJ BrushObj)
BRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
@ -3231,7 +3243,7 @@ BRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo)
* @unimplemented
*/
BOOL STDCALL
CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj,
CLIPOBJ_bEnum(IN CLIPOBJ *ClipObj,
IN ULONG ObjSize,
OUT ULONG *EnumRects)
{
@ -3243,7 +3255,7 @@ CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj,
* @unimplemented
*/
ULONG STDCALL
CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj,
CLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj,
IN BOOL ShouldDoAll,
IN ULONG ClipType,
IN ULONG BuildOrder,
@ -3256,8 +3268,8 @@ CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj,
/*
* @unimplemented
*/
PPATHOBJ STDCALL
CLIPOBJ_ppoGetPath(PCLIPOBJ ClipObj)
PATHOBJ* STDCALL
CLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
@ -3367,7 +3379,7 @@ EngCreateBitmap(IN SIZEL Size,
/*
* @unimplemented
*/
PCLIPOBJ STDCALL
CLIPOBJ* STDCALL
EngCreateClip(VOID)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@ -3731,10 +3743,10 @@ EngTextOut(SURFOBJ *pso,STROBJ *pstro,FONTOBJ *pfo,CLIPOBJ *pco,RECTL *prclExtra
* @unimplemented
*/
BOOL STDCALL
EngTransparentBlt(IN PSURFOBJ Dest,
IN PSURFOBJ Source,
IN PCLIPOBJ Clip,
IN PXLATEOBJ ColorTranslation,
EngTransparentBlt(IN SURFOBJ *Dest,
IN SURFOBJ *Source,
IN CLIPOBJ *Clip,
IN XLATEOBJ *ColorTranslation,
IN PRECTL DestRect,
IN PRECTL SourceRect,
IN ULONG TransparentColor,
@ -3781,7 +3793,7 @@ EngWideCharToMultiByte(UINT CodePage,LPWSTR WideCharString,INT BytesInWideCharSt
*/
ULONG
STDCALL
FONTOBJ_cGetAllGlyphHandles(IN PFONTOBJ FontObj,
FONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj,
IN HGLYPH *Glyphs)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@ -3793,7 +3805,7 @@ FONTOBJ_cGetAllGlyphHandles(IN PFONTOBJ FontObj,
*/
ULONG
STDCALL
FONTOBJ_cGetGlyphs(IN PFONTOBJ FontObj,
FONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj,
IN ULONG Mode,
IN ULONG NumGlyphs,
IN HGLYPH *GlyphHandles,
@ -3828,7 +3840,7 @@ FONTOBJ_pfdg(FONTOBJ *pfo)
*/
IFIMETRICS*
STDCALL
FONTOBJ_pifi(IN PFONTOBJ FontObj)
FONTOBJ_pifi(IN FONTOBJ *FontObj)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
@ -3839,7 +3851,7 @@ FONTOBJ_pifi(IN PFONTOBJ FontObj)
*/
PVOID
STDCALL
FONTOBJ_pvTrueTypeFontFile(IN PFONTOBJ FontObj,
FONTOBJ_pvTrueTypeFontFile(IN FONTOBJ *FontObj,
IN ULONG *FileSize)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@ -3851,7 +3863,7 @@ FONTOBJ_pvTrueTypeFontFile(IN PFONTOBJ FontObj,
*/
XFORMOBJ*
STDCALL
FONTOBJ_pxoGetXform(IN PFONTOBJ FontObj)
FONTOBJ_pxoGetXform(IN FONTOBJ *FontObj)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
@ -3862,7 +3874,7 @@ FONTOBJ_pxoGetXform(IN PFONTOBJ FontObj)
*/
VOID
STDCALL
FONTOBJ_vGetInfo(IN PFONTOBJ FontObj,
FONTOBJ_vGetInfo(IN FONTOBJ *FontObj,
IN ULONG InfoSize,
OUT PFONTINFO FontInfo)
{

View file

@ -1,4 +1,4 @@
/* $Id: stubsa.c,v 1.30 2004/03/23 19:46:49 gvg Exp $
/* $Id: stubsa.c,v 1.31 2004/04/09 20:03:13 navaraf Exp $
*
* reactos/lib/gdi32/misc/stubs.c
*
@ -15,6 +15,8 @@
#undef WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddk/ntddk.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <win32k/text.h>
#include <win32k/dc.h>
#include <rosrtl/devmode.h>

View file

@ -1,4 +1,4 @@
/* $Id: stubsw.c,v 1.27 2004/03/23 19:46:49 gvg Exp $
/* $Id: stubsw.c,v 1.28 2004/04/09 20:03:13 navaraf Exp $
*
* reactos/lib/gdi32/misc/stubs.c
*
@ -292,7 +292,7 @@ StartDocW(
CONST DOCINFOW *a1
)
{
return NtGdiStartDoc ( hdc, (CONST PDOCINFOW)a1 );
return NtGdiStartDoc ( hdc, (DOCINFOW *)a1 );
}

View file

@ -195,7 +195,7 @@ GetEnhMetaFilePixelFormat(
CONST PIXELFORMATDESCRIPTOR *ppfd
)
{
ENHMETAHEADER pemh;
ENHMETAHEADER pemh;
if(GetEnhMetaFileHeader(hEmh, sizeof(ENHMETAHEADER), &pemh))
{

View file

@ -1,4 +1,4 @@
/* $Id: bitblt.c,v 1.20 2004/03/28 21:46:26 weiden Exp $
/* $Id: bitblt.c,v 1.21 2004/04/09 20:03:13 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@ -323,7 +323,7 @@ STDCALL
CreateDIBSection(HDC hDC,
CONST BITMAPINFO *bmi,
UINT Usage,
VOID *Bits,
PVOID *Bits,
HANDLE hSection,
DWORD dwOffset)
{

View file

@ -814,7 +814,7 @@ SetDIBColorTable(
CONST RGBQUAD *a3
)
{
return NtGdiSetDIBColorTable(hdc,a1,a2,(CONST PRGBQUAD)a3);
return NtGdiSetDIBColorTable(hdc,a1,a2,(RGBQUAD*)a3);
}
/*

View file

@ -1,4 +1,4 @@
/* $Id: font.c,v 1.2 2004/03/23 07:59:47 gvg Exp $
/* $Id: font.c,v 1.3 2004/04/09 20:03:13 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@ -14,6 +14,9 @@
#include <windows.h>
#include <rosrtl/logfont.h>
#include <ddk/ntddk.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <win32k/font.h>
#include <win32k/text.h>
#include <internal/font.h>
@ -242,8 +245,10 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
{
if (Unicode)
{
Ret = ((FONTENUMEXPROCW) EnumProc)(&Info[i].EnumLogFontEx, &Info[i].NewTextMetricEx,
Info[i].FontType, lParam);
Ret = ((FONTENUMPROCW) EnumProc)(
(LPLOGFONTW)&Info[i].EnumLogFontEx,
(LPTEXTMETRICW)&Info[i].NewTextMetricEx,
Info[i].FontType, lParam);
}
else
{
@ -256,8 +261,10 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
EnumLogFontExA.elfScript, LF_FACESIZE, NULL, NULL);
NewTextMetricExW2A(&NewTextMetricExA,
&Info[i].NewTextMetricEx);
Ret = ((FONTENUMEXPROCA) EnumProc)(&EnumLogFontExA, &NewTextMetricExA,
Info[i].FontType, lParam);
Ret = ((FONTENUMPROCA) EnumProc)(
(LPLOGFONTA)&EnumLogFontExA,
(LPTEXTMETRICA)&NewTextMetricExA,
Info[i].FontType, lParam);
}
}
@ -270,7 +277,7 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
* @implemented
*/
int STDCALL
EnumFontFamiliesExW(HDC Dc, LPLOGFONTW LogFont, FONTENUMEXPROCW EnumFontFamProc,
EnumFontFamiliesExW(HDC Dc, LPLOGFONTW LogFont, FONTENUMPROCW EnumFontFamProc,
LPARAM lParam, DWORD Flags)
{
return IntEnumFontFamilies(Dc, LogFont, EnumFontFamProc, lParam, TRUE);
@ -301,7 +308,7 @@ EnumFontFamiliesW(HDC Dc, LPCWSTR Family, FONTENUMPROCW EnumFontFamProc,
* @implemented
*/
int STDCALL
EnumFontFamiliesExA (HDC Dc, LPLOGFONTA LogFont, FONTENUMEXPROCA EnumFontFamProc,
EnumFontFamiliesExA (HDC Dc, LPLOGFONTA LogFont, FONTENUMPROCA EnumFontFamProc,
LPARAM lParam, DWORD dwFlags)
{
LOGFONTW LogFontW;

View file

@ -6,6 +6,8 @@
#include <string.h>
#include <windows.h>
#include <ddk/ntddk.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <internal/heap.h>
#include <win32k/kapi.h>
#include <win32k/metafile.h>

View file

@ -1,4 +1,4 @@
/* $Id: exception.c,v 1.6 2003/09/12 17:51:48 vizzini Exp $
/* $Id: exception.c,v 1.7 2004/04/09 20:03:13 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -299,6 +299,10 @@ RtlUnwind(PEXCEPTION_REGISTRATION RegistrationFrame,
pExceptRec->ExceptionAddress = ReturnAddress;
pExceptRec->ExceptionInformation[0] = 0;
}
else
{
pExceptRec = ExceptionRecord;
}
if (RegistrationFrame)
pExceptRec->ExceptionFlags |= EXCEPTION_UNWINDING;

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.36 2004/03/07 11:59:43 navaraf Exp $
# $Id: Makefile,v 1.37 2004/04/09 20:03:13 navaraf Exp $
PATH_TO_TOP = ../..
@ -14,6 +14,9 @@ TARGET_CFLAGS = \
-I./include \
-DUNICODE \
-D__REACTOS__ \
-D__USE_W32API \
-DWINVER=0x0600 \
-D_WIN32_WINNT=0x0501 \
-Wall \
-Werror \
-fno-builtin

View file

@ -2368,7 +2368,7 @@ static LRESULT ComboWndProc_common( HWND hwnd, UINT message,
case CB_SETEDITSEL:
if( lphc->wState & CBF_EDIT )
return SendMessageW(lphc->hWndEdit, EM_SETSEL,
(INT)(INT16)LOWORD(lParam), (INT)(INT16)HIWORD(lParam) );
(INT)(USHORT)LOWORD(lParam), (INT)(USHORT)HIWORD(lParam) );
return CB_ERR;
#ifndef __REACTOS__
case CB_SETEXTENDEDUI16:

View file

@ -1,4 +1,4 @@
/* $Id: listbox.c,v 1.15 2004/01/02 19:49:47 gvg Exp $
/* $Id: listbox.c,v 1.16 2004/04/09 20:03:13 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS User32
@ -38,6 +38,10 @@ BOOL is_old_app(HWND hwnd)
#define WM_LBTRACKPOINT 0x0131
#define WS_EX_DRAGDETECT 0x00000002L
#define WM_BEGINDRAG 0x022C
#define WM_SYSTIMER 280
UINT STDCALL SetSystemTimer(HWND,UINT_PTR,UINT,TIMERPROC);
WINBOOL STDCALL KillSystemTimer(HWND,UINT_PTR);
/* End of hack section -------------------------------- */
@ -737,7 +741,7 @@ static BOOL LISTBOX_SetTabStops( HWND hwnd, LB_DESCR *descr, INT count,
if (short_ints)
{
INT i;
LPINT16 p = (LPINT16)tabs;
PUSHORT p = (PUSHORT)tabs;
TRACE("[%p]: settabstops ", hwnd );
for (i = 0; i < descr->nb_tabs; i++) {
@ -2873,16 +2877,16 @@ static LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg,
return LISTBOX_HandleMouseWheel( hwnd, descr, wParam );
case WM_LBUTTONDOWN:
return LISTBOX_HandleLButtonDown( hwnd, descr, wParam,
(INT16)LOWORD(lParam),
(INT16)HIWORD(lParam) );
(USHORT)LOWORD(lParam),
(USHORT)HIWORD(lParam) );
case WM_LBUTTONDBLCLK:
if (descr->style & LBS_NOTIFY)
SEND_NOTIFICATION( hwnd, descr, LBN_DBLCLK );
return 0;
case WM_MOUSEMOVE:
if (GetCapture() == hwnd)
LISTBOX_HandleMouseMove( hwnd, descr, (INT16)LOWORD(lParam),
(INT16)HIWORD(lParam) );
LISTBOX_HandleMouseMove( hwnd, descr, (USHORT)LOWORD(lParam),
(USHORT)HIWORD(lParam) );
return 0;
case WM_LBUTTONUP:
return LISTBOX_HandleLButtonUp( hwnd, descr );
@ -2991,8 +2995,8 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
BOOL captured;
RECT clientRect;
mousePos.x = (INT16)LOWORD(lParam);
mousePos.y = (INT16)HIWORD(lParam);
mousePos.x = (USHORT)LOWORD(lParam);
mousePos.y = (USHORT)HIWORD(lParam);
/*
* If we are in a dropdown combobox, we simulate that
@ -3033,8 +3037,8 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
* we make sure there is no selection by re-selecting the
* item that was selected when the listbox was made visible.
*/
mousePos.x = (INT16)LOWORD(lParam);
mousePos.y = (INT16)HIWORD(lParam);
mousePos.x = (USHORT)LOWORD(lParam);
mousePos.y = (USHORT)HIWORD(lParam);
GetClientRect(hwnd, &clientRect);
@ -3054,8 +3058,8 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
case WM_LBUTTONDBLCLK:
case WM_LBUTTONDOWN:
return LISTBOX_HandleLButtonDownCombo(hwnd, descr, msg, wParam,
(INT16)LOWORD(lParam),
(INT16)HIWORD(lParam) );
(USHORT)LOWORD(lParam),
(USHORT)HIWORD(lParam) );
case WM_NCACTIVATE:
return FALSE;
case WM_KEYDOWN:
@ -3092,7 +3096,7 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
lRet = unicode ? ListBoxWndProcW( hwnd, msg, wParam, lParam ) :
ListBoxWndProcA( hwnd, msg, wParam, lParam );
TRACE_(combo)("\t default on msg [%04x]\n", (UINT16)msg );
TRACE_(combo)("\t default on msg [%04x]\n", (USHORT)msg );
return lRet;
}

View file

@ -36,6 +36,7 @@
#include <draw.h>
#include <stdlib.h>
#include <string.h>
#include <oleacc.h>
#include <user32/regcontrol.h>
#include <rosrtl/minmax.h>
@ -75,6 +76,8 @@ HBRUSH DefWndControlColor(HDC hDC, UINT ctlType);
static LRESULT WINAPI ScrollBarWndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
UINT STDCALL SetSystemTimer(HWND,UINT_PTR,UINT,TIMERPROC);
WINBOOL STDCALL KillSystemTimer(HWND,UINT_PTR);
/*********************************************************************
* scrollbar class descriptor

View file

@ -91,3 +91,9 @@ void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);
LONG WINAPI RegCloseKey(HKEY);
LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
#ifdef __USE_W32API
NTSTATUS STDCALL ZwCallbackReturn(PVOID Result,
ULONG ResultLength,
NTSTATUS Status);
#endif

View file

@ -22,7 +22,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __USE_W32API
#define __USE_W32API
#endif
#include "wine/config.h"
#include "wine/port.h"

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: display.c,v 1.8 2004/01/23 23:38:26 ekohl Exp $
/* $Id: display.c,v 1.9 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/misc/dde.c
@ -29,9 +29,12 @@
/* INCLUDES ******************************************************************/
#include <windows.h>
#include <user32.h>
#include <debug.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <rosrtl/devmode.h>
#include <win32k/ntuser.h>
#define NDEBUG
#include <debug.h>
/* FUNCTIONS *****************************************************************/
@ -42,9 +45,11 @@ BOOL STDCALL
EnumDisplayDevicesA(
LPCSTR lpDevice,
DWORD iDevNum,
PDISPLAY_DEVICE lpDisplayDevice,
PDISPLAY_DEVICEA lpDisplayDevice,
DWORD dwFlags)
{
/* FIXME: This implementation doesn't convert the lpDisplayDevice structure! */
#if 0
BOOL rc;
UNICODE_STRING Device;
if ( !RtlCreateUnicodeStringFromAsciiz ( &Device, (PCSZ)lpDevice ) )
@ -62,6 +67,9 @@ EnumDisplayDevicesA(
RtlFreeUnicodeString ( &Device );
return rc;
#else
return 0;
#endif
}

View file

@ -1,9 +1,12 @@
#undef __USE_W32API
#include <windows.h>
#include <debug.h>
#include <ddk/ntddk.h>
#include <user32/callback.h>
#include <user32/accel.h>
#include <window.h>
#include <menu.h>
#define _WIN32K_KAPI_H
#include <user32.h>
#include <strpool.h>
@ -14,7 +17,7 @@ DWORD DebugTraceLevel = MIN_TRACE;
#endif /* DBG */
extern RTL_CRITICAL_SECTION gcsMPH;
extern CRITICAL_SECTION gcsMPH;
static ULONG User32TlsIndex;
/* To make the linker happy */
@ -54,15 +57,15 @@ Init(VOID)
DWORD Status;
/* Set up the kernel callbacks. */
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_WINDOWPROC] =
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_WINDOWPROC] =
(PVOID)User32CallWindowProcFromKernel;
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_SENDASYNCPROC] =
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_SENDASYNCPROC] =
(PVOID)User32CallSendAsyncProcForKernel;
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_LOADSYSMENUTEMPLATE] =
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_LOADSYSMENUTEMPLATE] =
(PVOID)User32LoadSysMenuTemplateForKernel;
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_LOADDEFAULTCURSORS] =
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_LOADDEFAULTCURSORS] =
(PVOID)User32SetupDefaultCursors;
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_HOOKPROC] =
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_HOOKPROC] =
(PVOID)User32CallHookProcFromKernel;
/* Allocate an index for user32 thread local data. */
@ -70,8 +73,8 @@ Init(VOID)
MenuInit();
RtlInitializeCriticalSection(&U32AccelCacheLock);
RtlInitializeCriticalSection(&gcsMPH);
InitializeCriticalSection(&U32AccelCacheLock);
InitializeCriticalSection(&gcsMPH);
GdiDllInitialize(NULL, DLL_PROCESS_ATTACH, NULL);
@ -104,7 +107,7 @@ DllMain(
case DLL_PROCESS_ATTACH:
hProcessHeap = RtlGetProcessHeap();
Init();
/* InitThread();*/
InitThread();
break;
case DLL_THREAD_ATTACH:
InitThread();
@ -114,7 +117,7 @@ DllMain(
break;
case DLL_PROCESS_DETACH:
DeleteFrameBrushes();
/* CleanupThread();*/
CleanupThread();
Cleanup();
break;
}

View file

@ -1,4 +1,4 @@
/* $Id: exit.c,v 1.3 2004/01/23 23:38:26 ekohl Exp $
/* $Id: exit.c,v 1.4 2004/04/09 20:03:14 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -8,8 +8,9 @@
*/
#include <windows.h>
//#include <user32.h>
#include <user32.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <ntdll/csr.h>
/*

View file

@ -1,6 +1,8 @@
#include <string.h>
#include <windows.h>
#include <ddk/ntddk.h>
#define NTOS_MODE_USER
#include <ntos.h>
/*#include <kernel32/error.h>*/
/* FIXME: Currently IsBadWritePtr is implemented using VirtualQuery which

View file

@ -2,6 +2,8 @@
#include <windows.h>
#include <ddk/ntddk.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <strpool.h>
#include <string.h>

View file

@ -1,4 +1,4 @@
/* $Id: stubs.c,v 1.57 2004/03/23 21:47:36 weiden Exp $
/* $Id: stubs.c,v 1.58 2004/04/09 20:03:14 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -12,10 +12,11 @@
#include <windows.h>
#include <debug.h>
#include <string.h>
typedef UINT *LPUINT;
#include <mmsystem.h>
#include <user32.h>
#ifdef __USE_W32API
typedef PVOID LPIMEPROW, LPIMEPROA;
#endif
/*
* @unimplemented
@ -43,23 +44,6 @@ AttachThreadInput(
}
/*
* @unimplemented
*/
long
STDCALL
BroadcastSystemMessage(
DWORD dwFlags,
LPDWORD lpdwRecipients,
UINT uiMessage,
WPARAM wParam,
LPARAM lParam)
{
UNIMPLEMENTED;
return 0;
}
/*
* @unimplemented
*/
@ -185,7 +169,7 @@ DWORD
STDCALL
MsgWaitForMultipleObjects(
DWORD nCount,
CONST LPHANDLE pHandles,
CONST HANDLE *pHandles,
BOOL fWaitAll,
DWORD dwMilliseconds,
DWORD dwWakeMask)

View file

@ -1,4 +1,4 @@
/* $Id: winsta.c,v 1.14 2004/01/23 23:38:26 ekohl Exp $
/* $Id: winsta.c,v 1.15 2004/04/09 20:03:14 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -81,7 +81,7 @@ CreateWindowStationW(LPWSTR lpwinsta,
* @unimplemented
*/
BOOL STDCALL
EnumWindowStationsA(ENUMWINDOWSTATIONPROCA lpEnumFunc,
EnumWindowStationsA(WINSTAENUMPROCA lpEnumFunc,
LPARAM lParam)
{
UNIMPLEMENTED;
@ -93,7 +93,7 @@ EnumWindowStationsA(ENUMWINDOWSTATIONPROCA lpEnumFunc,
* @unimplemented
*/
BOOL STDCALL
EnumWindowStationsW(ENUMWINDOWSTATIONPROCW lpEnumFunc,
EnumWindowStationsW(WINSTAENUMPROCW lpEnumFunc,
LPARAM lParam)
{
PWCHAR Buffer;

View file

@ -35,6 +35,7 @@
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <wine/winternl.h>
#include "strpool.h"
#define WPRINTF_LEFTALIGN 0x0001 /* Align output on the left ('-' prefix) */
@ -552,9 +553,9 @@ DWORD STDCALL WCSToMBEx(WORD CodePage,LPWSTR UnicodeString,LONG UnicodeSize,LPST
}
if (Allocate)
{
*MBString = HEAP_alloc(MBSize);
*MBString = RtlAllocateHeap(GetProcessHeap(), 0, MBSize);
}
if ((CodePage == 0) || (CodePage == NLS_ANSI_CODE_PAGE))
if (CodePage == 0)
{
RtlUnicodeToMultiByteN(*MBString,MBSize,&Size,UnicodeString,UnicodeSize);
}
@ -584,10 +585,10 @@ DWORD STDCALL MBToWCSEx(WORD CodePage,LPSTR MBString,LONG MBSize,LPWSTR *Unicode
}
if (Allocate)
{
*UnicodeString = HEAP_alloc(UnicodeSize);
*UnicodeString = RtlAllocateHeap(GetProcessHeap(), 0, UnicodeSize);
}
UnicodeSize *= sizeof(WCHAR);
if ((CodePage == 0) || (CodePage == NLS_ANSI_CODE_PAGE))
if (CodePage == 0)
{
RtlMultiByteToUnicodeN(*UnicodeString,UnicodeSize,&Size,MBString,MBSize);
}

View file

@ -17,7 +17,7 @@ BeginDeferWindowPos=BeginDeferWindowPos@4
BeginPaint=BeginPaint@8
BlockInput=BlockInput@4
BringWindowToTop=BringWindowToTop@4
BroadcastSystemMessage=BroadcastSystemMessage@20
BroadcastSystemMessage=BroadcastSystemMessageA@20
BroadcastSystemMessageA=BroadcastSystemMessageA@20
BroadcastSystemMessageExA=BroadcastSystemMessageExA@24
BroadcastSystemMessageExW=BroadcastSystemMessageExW@24

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: accel.c,v 1.13 2004/01/28 21:00:23 gvg Exp $
/* $Id: accel.c,v 1.14 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c
@ -31,6 +31,8 @@
#include <windows.h>
#include <user32/accel.h>
#include <win32k/ntuser.h>
#define NTOS_MODE_USER
#include <ntos.h>
/* this is the 8 byte accel struct used in Win32 resources (internal only) */
typedef struct
@ -101,7 +103,7 @@ HACCEL WINAPI U32LoadAccelerators(HINSTANCE hInstance, HRSRC hTableRes)
/* failure */
if(hAccTableData == NULL) return NULL;
RtlEnterCriticalSection(&U32AccelCacheLock);
EnterCriticalSection(&U32AccelCacheLock);
/* see if this accelerator table has already been loaded */
pEntry = *U32AccelCacheFind(NULL, hAccTableData);
@ -152,7 +154,7 @@ HACCEL WINAPI U32LoadAccelerators(HINSTANCE hInstance, HRSRC hTableRes)
U32AccelCacheAdd(hAccTable, pAccTableResData);
l_Leave:
RtlLeaveCriticalSection(&U32AccelCacheLock);
LeaveCriticalSection(&U32AccelCacheLock);
return hAccTable;
}
@ -186,7 +188,7 @@ BOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel)
U32_ACCEL_CACHE_ENTRY ** ppEntry;
ULONG_PTR nUsage = 0;
RtlEnterCriticalSection(&U32AccelCacheLock);
EnterCriticalSection(&U32AccelCacheLock);
/* see if this accelerator table has been cached */
ppEntry = U32AccelCacheFind(hAccel, NULL);
@ -210,7 +212,7 @@ BOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel)
}
}
RtlLeaveCriticalSection(&U32AccelCacheLock);
LeaveCriticalSection(&U32AccelCacheLock);
if(nUsage > 0) return FALSE;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: bitmap.c,v 1.27 2004/02/23 18:16:37 navaraf Exp $
/* $Id: bitmap.c,v 1.28 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c
@ -33,6 +33,8 @@
#include <user32.h>
#include <debug.h>
#include <stdlib.h>
#define NTOS_MODE_USER
#include <ntos.h>
/*forward declerations... actualy in user32\windows\icon.c but usful here****/
HICON ICON_CreateCursorFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cxDesired, int cyDesired, int xHotspot, int yHotspot);
@ -221,7 +223,7 @@ LoadCursorImage(HINSTANCE hinst, LPCWSTR lpszName, UINT fuLoad)
return(NULL);
}
SafeIconImage = RtlAllocateHeap(RtlGetProcessHeap(), 0, dirEntry->dwBytesInRes);
SafeIconImage = RtlAllocateHeap(GetProcessHeap(), 0, dirEntry->dwBytesInRes);
memcpy(SafeIconImage, ((PBYTE)IconDIR) + dirEntry->dwImageOffset, dirEntry->dwBytesInRes);
}
@ -250,7 +252,7 @@ LoadCursorImage(HINSTANCE hinst, LPCWSTR lpszName, UINT fuLoad)
hIcon = ICON_CreateCursorFromData(hScreenDc, Data, SafeIconImage, 32, 32, dirEntry->Info.cursor.wXHotspot, dirEntry->Info.cursor.wYHotspot);
DeleteDC(hScreenDc);
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
return hIcon;
}
@ -390,7 +392,7 @@ LoadIconImage(HINSTANCE hinst, LPCWSTR lpszName, INT width, INT height, UINT fuL
return(NULL);
}
SafeIconImage = RtlAllocateHeap(RtlGetProcessHeap(), 0, dirEntry->dwBytesInRes);
SafeIconImage = RtlAllocateHeap(GetProcessHeap(), 0, dirEntry->dwBytesInRes);
memcpy(SafeIconImage, ((PBYTE)IconDIR) + dirEntry->dwImageOffset, dirEntry->dwBytesInRes);
@ -428,14 +430,14 @@ LoadIconImage(HINSTANCE hinst, LPCWSTR lpszName, INT width, INT height, UINT fuL
{
if (fuLoad & LR_LOADFROMFILE)
{
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
UnmapViewOfFile(IconDIR);
}
return(NULL);
}
hIcon = ICON_CreateIconFromData(hScreenDc, Data, SafeIconImage, width, height, width/2, height/2);
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
return hIcon;
}
@ -533,7 +535,7 @@ LoadBitmapImage(HINSTANCE hInstance, LPCWSTR lpszName, UINT fuLoad)
}
Data = (PVOID)BitmapInfo + HeaderSize;
PrivateInfo = RtlAllocateHeap(RtlGetProcessHeap(), 0, HeaderSize);
PrivateInfo = RtlAllocateHeap(GetProcessHeap(), 0, HeaderSize);
if (PrivateInfo == NULL)
{
if (fuLoad & LR_LOADFROMFILE)
@ -572,7 +574,7 @@ LoadBitmapImage(HINSTANCE hInstance, LPCWSTR lpszName, UINT fuLoad)
Data, PrivateInfo, DIB_RGB_COLORS);
}
RtlFreeHeap(RtlGetProcessHeap(), 0, PrivateInfo);
RtlFreeHeap(GetProcessHeap(), 0, PrivateInfo);
/*DeleteDC(hScreenDc);*/
if (fuLoad & LR_LOADFROMFILE)
{

View file

@ -1,4 +1,4 @@
/* $Id: class.c,v 1.45 2004/04/08 21:14:21 navaraf Exp $
/* $Id: class.c,v 1.46 2004/04/09 20:03:14 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -16,6 +16,8 @@
#include <window.h>
#include <strpool.h>
#include <user32/regcontrol.h>
#define NTOS_MODE_USER
#include <ntos.h>
@ -490,7 +492,7 @@ RegisterClassExW(CONST WNDCLASSEXW *lpwcx)
if ( !lpwcx->lpszClassName )
return 0;
hHeap = RtlGetProcessHeap();
hHeap = GetProcessHeap();
RtlCopyMemory ( &wndclass, lpwcx, sizeof(WNDCLASSEXW) );
/* copy strings if needed */

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: cursor.c,v 1.19 2004/01/26 08:44:51 weiden Exp $
/* $Id: cursor.c,v 1.20 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/cursor.c
@ -32,6 +32,9 @@
#include <user32.h>
#include <string.h>
#include <debug.h>
#define NTOS_MODE_USER
#include <ntos.h>
#undef CopyCursor
HBITMAP
CopyBitmap(HBITMAP bmp);

View file

@ -1,4 +1,4 @@
/* $Id: defwnd.c,v 1.131 2004/04/05 22:42:11 weiden Exp $
/* $Id: defwnd.c,v 1.132 2004/04/09 20:03:14 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -12,6 +12,7 @@
/* INCLUDES ******************************************************************/
#include <windows.h>
#include <windowsx.h>
#include <user32.h>
#include <window.h>
#include <user32/wininternal.h>
@ -24,6 +25,13 @@
#define NDEBUG
#include <debug.h>
#ifndef WM_SETVISIBLE
#define WM_SETVISIBLE 9
#endif
#ifndef WM_QUERYDROPOBJECT
#define WM_QUERYDROPOBJECT 0x022B
#endif
LRESULT DefWndNCPaint(HWND hWnd, HRGN hRgn);
LRESULT DefWndNCCalcSize(HWND hWnd, BOOL CalcSizeStruct, RECT *Rect);
LRESULT DefWndNCActivate(HWND hWnd, WPARAM wParam);
@ -502,8 +510,8 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
SystemParametersInfoA(SPI_GETDRAGFULLWINDOWS, 0, &DragFullWindows, 0);
pt.x = SLOWORD(dwPoint);
pt.y = SHIWORD(dwPoint);
pt.x = GET_X_LPARAM(dwPoint);
pt.y = GET_Y_LPARAM(dwPoint);
capturePoint = pt;
if (IsZoomed(hwnd) || !IsWindowVisible(hwnd))
@ -1013,8 +1021,8 @@ User32DefWindowProc(HWND hWnd,
case WM_NCHITTEST:
{
POINT Point;
Point.x = SLOWORD(lParam);
Point.y = SHIWORD(lParam);
Point.x = GET_X_LPARAM(lParam);
Point.y = GET_Y_LPARAM(lParam);
return (DefWndNCHitTest(hWnd, Point));
}
@ -1045,8 +1053,8 @@ User32DefWindowProc(HWND hWnd,
{
ReleaseCapture();
}
Pt.x = SLOWORD(lParam);
Pt.y = SHIWORD(lParam);
Pt.x = GET_X_LPARAM(lParam);
Pt.y = GET_Y_LPARAM(lParam);
ClientToScreen(hWnd, &Pt);
lParam = MAKELPARAM(Pt.x, Pt.y);
if (bUnicode)
@ -1081,8 +1089,8 @@ User32DefWindowProc(HWND hWnd,
Style = GetWindowLongW(hWnd, GWL_STYLE);
Pt.x = SLOWORD(lParam);
Pt.y = SHIWORD(lParam);
Pt.x = GET_X_LPARAM(lParam);
Pt.y = GET_Y_LPARAM(lParam);
if (Style & WS_CHILD)
{
ScreenToClient(GetParent(hWnd), &Pt);
@ -1286,8 +1294,8 @@ User32DefWindowProc(HWND hWnd,
case WM_SYSCOMMAND:
{
POINT Pt;
Pt.x = SLOWORD(lParam);
Pt.y = SHIWORD(lParam);
Pt.x = GET_X_LPARAM(lParam);
Pt.y = GET_Y_LPARAM(lParam);
return (DefWndHandleSysCommand(hWnd, wParam, Pt));
}

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: dialog.c,v 1.24 2004/01/23 23:38:26 ekohl Exp $
/* $Id: dialog.c,v 1.25 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/dialog.c
@ -30,19 +30,21 @@
*/
/* INCLUDES ******************************************************************/
#define __NTAPP__
#include <windows.h>
#include <string.h>
#include <user32.h>
#include <ntos/rtl.h>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <debug.h>
#include "user32/regcontrol.h"
#include "../controls/controls.h"
/* MACROS/DEFINITIONS ********************************************************/
#define DF_END 0x0001
@ -1259,7 +1261,7 @@ inline static LPSTR HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str )
if (!str) return NULL;
len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );
ret = RtlAllocateHeap(RtlGetProcessHeap(), flags, len );
ret = RtlAllocateHeap(GetProcessHeap(), flags, len );
if(ret) WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
return ret;
}

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: hook.c,v 1.14 2004/01/23 23:38:26 ekohl Exp $
/* $Id: hook.c,v 1.15 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c
@ -31,6 +31,8 @@
#include <windows.h>
#include <user32.h>
#include <user32/callback.h>
#define NTOS_MODE_USER
#include <ntos.h>
#define NDEBUG
#include <debug.h>
@ -205,13 +207,13 @@ NotifyWinEvent(
HWINEVENTHOOK
STDCALL
SetWinEventHook(
DWORD eventMin,
DWORD eventMax,
UINT eventMin,
UINT eventMax,
HMODULE hmodWinEventProc,
WINEVENTPROC pfnWinEventProc,
DWORD idProcess,
DWORD idThread,
DWORD dwFlags
UINT dwFlags
)
{
UNIMPLEMENTED;
@ -347,11 +349,11 @@ User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
{
if (0 != HIWORD(Csa.lpszClass))
{
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR) Csa.lpszClass);
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR) Csa.lpszClass);
}
if (NULL != Csa.lpszName)
{
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR) Csa.lpszName);
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR) Csa.lpszName);
}
}
break;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: icon.c,v 1.20 2004/02/23 22:04:38 navaraf Exp $
/* $Id: icon.c,v 1.21 2004/04/09 20:03:14 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/icon.c
@ -32,6 +32,8 @@
#include <user32.h>
#include <string.h>
#include <stdlib.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <debug.h>
/* FUNCTIONS *****************************************************************/
@ -56,7 +58,7 @@ ICON_CreateIconFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cxDe
(IconImage->icHeader.biHeight );
/* create a BITMAPINFO header for the monocrome part of the icon */
bwBIH = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
bwBIH = RtlAllocateHeap(GetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
bwBIH->bmiHeader.biBitCount = 1;
bwBIH->bmiHeader.biWidth = IconImage->icHeader.biWidth;
@ -88,7 +90,7 @@ ICON_CreateIconFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cxDe
SetDIBits(hDC, IconInfo.hbmMask, 0, IconImage->icHeader.biHeight,
ImageData, bwBIH, DIB_RGB_COLORS);
RtlFreeHeap(RtlGetProcessHeap(), 0, bwBIH);
RtlFreeHeap(GetProcessHeap(), 0, bwBIH);
/* Create the icon based on everything we have so far */
return NtUserCreateCursorIconHandle(&IconInfo, FALSE);
@ -107,7 +109,7 @@ ICON_CreateCursorFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cx
IconInfo.yHotspot = yHotspot;
/* create a BITMAPINFO header for the monocrome part of the icon */
bwBIH = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
bwBIH = RtlAllocateHeap(GetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
bwBIH->bmiHeader.biBitCount = 1;
bwBIH->bmiHeader.biWidth = IconImage->icHeader.biWidth;
@ -145,7 +147,7 @@ ICON_CreateCursorFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cx
IconInfo.hbmColor = (HBITMAP)0;
RtlFreeHeap(RtlGetProcessHeap(), 0, bwBIH);
RtlFreeHeap(GetProcessHeap(), 0, bwBIH);
/* Create the icon based on everything we have so far */
return NtUserCreateCursorIconHandle(&IconInfo, FALSE);
@ -269,7 +271,7 @@ CreateIconFromResourceEx(
}
/* get an safe copy of the icon data */
SafeIconImage = RtlAllocateHeap(RtlGetProcessHeap(), 0, cbIconBits);
SafeIconImage = RtlAllocateHeap(GetProcessHeap(), 0, cbIconBits);
memcpy(SafeIconImage, pbIconBits, cbIconBits);
/* take into acount the origonal height was for both the AND and XOR images */
@ -296,7 +298,7 @@ CreateIconFromResourceEx(
hScreenDc = CreateCompatibleDC(NULL);
if (hScreenDc == NULL)
{
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
return(NULL);
}
@ -304,7 +306,7 @@ CreateIconFromResourceEx(
hIcon = ICON_CreateIconFromData(hScreenDc, Data, SafeIconImage, cxDesired, cyDesired, wXHotspot, wYHotspot);
else
hIcon = ICON_CreateCursorFromData(hScreenDc, Data, SafeIconImage, cxDesired, cyDesired, wXHotspot, wYHotspot);
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
DeleteDC(hScreenDc);
return hIcon;

View file

@ -80,10 +80,6 @@
*
*/
#ifdef __REACTOS__
#define __USE_W32API
#endif
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>

View file

@ -21,7 +21,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: menu.c,v 1.61 2004/04/02 19:14:44 weiden Exp $
/* $Id: menu.c,v 1.62 2004/04/09 20:03:15 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/menu.c
@ -41,7 +41,8 @@
#include <draw.h>
#include <window.h>
#include <strpool.h>
#include <ntos/rtl.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <user32/callback.h>
#include "user32/regcontrol.h"
@ -3585,7 +3586,7 @@ DrawMenuBar(HWND hWnd)
/*
* @implemented
*/
UINT STDCALL
BOOL STDCALL
EnableMenuItem(HMENU hMenu,
UINT uIDEnableItem,
UINT uEnable)
@ -4030,7 +4031,7 @@ InsertMenuItemW(
UNICODE_STRING MenuText;
BOOL res = FALSE;
BOOL CleanHeap = FALSE;
HANDLE hHeap = RtlGetProcessHeap();
HANDLE hHeap = GetProcessHeap();
mi.hbmpItem = (HBITMAP)0;
// while we could just pass 'lpmii' to win32k, we make a copy so that
@ -4370,7 +4371,7 @@ SetMenuItemInfoA(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
LPMENUITEMINFOA lpmii)
LPCMENUITEMINFOA lpmii)
{
UNIMPLEMENTED;
return FALSE;
@ -4386,7 +4387,7 @@ SetMenuItemInfoW(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
LPMENUITEMINFOW lpmii)
LPCMENUITEMINFOW lpmii)
{
UNIMPLEMENTED;
return FALSE;

View file

@ -1,4 +1,4 @@
/* $Id: message.c,v 1.36 2004/03/11 14:47:43 weiden Exp $
/* $Id: message.c,v 1.37 2004/04/09 20:03:15 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -12,6 +12,8 @@
#include <user32.h>
#include <string.h>
#include <debug.h>
#define NTOS_MODE_USER
#include <ntos.h>
/*
* @implemented
@ -316,7 +318,7 @@ User32ConvertToAsciiMessage(UINT* Msg, WPARAM* wParam, LPARAM* lParam)
ANSI_STRING AString;
CsW = (CREATESTRUCTW*)(*lParam);
CsA = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof(CREATESTRUCTA));
CsA = RtlAllocateHeap(GetProcessHeap(), 0, sizeof(CREATESTRUCTA));
memcpy(CsA, CsW, sizeof(CREATESTRUCTW));
RtlInitUnicodeString(&UString, CsW->lpszName);
@ -360,7 +362,7 @@ User32FreeAsciiConvertedMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
LPSTR TempString;
LPSTR InString;
InString = (LPSTR)lParam;
TempString = RtlAllocateHeap(RtlGetProcessHeap(), 0, strlen(InString) + 1);
TempString = RtlAllocateHeap(GetProcessHeap(), 0, strlen(InString) + 1);
strcpy(TempString, InString);
RtlInitAnsiString(&AnsiString, TempString);
UnicodeString.Length = wParam * sizeof(WCHAR);
@ -375,7 +377,7 @@ User32FreeAsciiConvertedMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
UnicodeString.Buffer[0] = L'\0';
}
}
RtlFreeHeap(RtlGetProcessHeap(), 0, TempString);
RtlFreeHeap(GetProcessHeap(), 0, TempString);
break;
}
case WM_SETTEXT:
@ -391,12 +393,12 @@ User32FreeAsciiConvertedMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
CREATESTRUCTA* Cs;
Cs = (CREATESTRUCTA*)lParam;
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR)Cs->lpszName);
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR)Cs->lpszName);
if (HIWORD((ULONG)Cs->lpszClass) != 0)
{
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR)Cs->lpszClass);
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR)Cs->lpszClass);
}
RtlFreeHeap(RtlGetProcessHeap(), 0, Cs);
RtlFreeHeap(GetProcessHeap(), 0, Cs);
break;
}
}
@ -475,6 +477,10 @@ CallWindowProcA(WNDPROC lpPrevWndFunc,
BOOL IsHandle;
WndProcHandle wphData;
DbgPrint("CallWindowProcA(%p,%x,%x,%x,%x)\n",lpPrevWndFunc,hWnd,Msg,wParam,lParam);
if (lpPrevWndFunc == NULL)
lpPrevWndFunc = (WNDPROC)NtUserGetWindowLong(hWnd, GWL_WNDPROC, FALSE);
IsHandle = NtUserDereferenceWndProcHandle(lpPrevWndFunc,&wphData);
if (! IsHandle)
{
@ -967,18 +973,19 @@ SendNotifyMessageW(
* @implemented
*/
BOOL STDCALL
TranslateMessage(CONST MSG *lpMsg)
TranslateMessageEx(CONST MSG *lpMsg, DWORD unk)
{
return(TranslateMessageEx((LPMSG)lpMsg, 0));
return(NtUserTranslateMessage((LPMSG)lpMsg, (HKL)unk));
}
/*
* @implemented
*/
BOOL STDCALL
TranslateMessageEx(CONST MSG *lpMsg, DWORD unk)
TranslateMessage(CONST MSG *lpMsg)
{
return(NtUserTranslateMessage((LPMSG)lpMsg, (HKL)unk));
return(TranslateMessageEx((LPMSG)lpMsg, 0));
}
@ -1112,7 +1119,7 @@ BOOL STDCALL SetMessageQueue(int cMessagesMax)
return TRUE;
}
typedef DWORD (WINAPI * RealGetQueueStatusProc)(UINT flags);
typedef DWORD (WINAPI * RealMsgWaitForMultipleObjectsExProc)(DWORD nCount, LPHANDLE lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags);
typedef DWORD (WINAPI * RealMsgWaitForMultipleObjectsExProc)(DWORD nCount, CONST HANDLE *lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags);
typedef struct _USER_MESSAGE_PUMP_ADDRESSES {
DWORD cbSize;
@ -1126,14 +1133,14 @@ DWORD
STDCALL
RealMsgWaitForMultipleObjectsEx(
DWORD nCount,
LPHANDLE pHandles,
CONST HANDLE *pHandles,
DWORD dwMilliseconds,
DWORD dwWakeMask,
DWORD dwFlags);
typedef BOOL (WINAPI * MESSAGEPUMPHOOKPROC)(BOOL Unregistering,PUSER_MESSAGE_PUMP_ADDRESSES MessagePumpAddresses);
RTL_CRITICAL_SECTION gcsMPH;
CRITICAL_SECTION gcsMPH;
MESSAGEPUMPHOOKPROC gpfnInitMPH;
DWORD gcLoadMPH = 0;
USER_MESSAGE_PUMP_ADDRESSES gmph = {sizeof(USER_MESSAGE_PUMP_ADDRESSES),
@ -1173,10 +1180,10 @@ void WINAPI ResetMessagePumpHook(PUSER_MESSAGE_PUMP_ADDRESSES Addresses)
BOOL WINAPI RegisterMessagePumpHook(MESSAGEPUMPHOOKPROC Hook)
{
RtlEnterCriticalSection(&gcsMPH);
EnterCriticalSection(&gcsMPH);
if(!Hook) {
SetLastError(ERROR_INVALID_PARAMETER);
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return FALSE;
}
if(!gcLoadMPH) {
@ -1184,30 +1191,30 @@ BOOL WINAPI RegisterMessagePumpHook(MESSAGEPUMPHOOKPROC Hook)
gpfnInitMPH = Hook;
ResetMessagePumpHook(&Addresses);
if(!Hook(FALSE, &Addresses) || !Addresses.cbSize) {
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return FALSE;
}
memcpy(&gmph, &Addresses, Addresses.cbSize);
} else {
if(gpfnInitMPH != Hook) {
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return FALSE;
}
}
if(NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP)) {
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return FALSE;
}
if (!gcLoadMPH++) {
InterlockedExchange(&gfMessagePumpHook, 1);
}
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return TRUE;
}
BOOL WINAPI UnregisterMessagePumpHook(VOID)
{
RtlEnterCriticalSection(&gcsMPH);
EnterCriticalSection(&gcsMPH);
if(gcLoadMPH > 0) {
if(NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP)) {
gcLoadMPH--;
@ -1217,11 +1224,11 @@ BOOL WINAPI UnregisterMessagePumpHook(VOID)
ResetMessagePumpHook(&gmph);
gpfnInitMPH = 0;
}
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return TRUE;
}
}
RtlLeaveCriticalSection(&gcsMPH);
LeaveCriticalSection(&gcsMPH);
return FALSE;
}
@ -1230,7 +1237,7 @@ DWORD WINAPI GetQueueStatus(UINT flags)
return IsInsideMessagePumpHook() ? gmph.RealGetQueueStatus(flags) : RealGetQueueStatus(flags);
}
DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD nCount, LPHANDLE lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags)
DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD nCount, CONST HANDLE *lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags)
{
return IsInsideMessagePumpHook() ? gmph.RealMsgWaitForMultipleObjectsEx(nCount, lpHandles,dwMilliseconds, dwWakeMask, dwFlags) : RealMsgWaitForMultipleObjectsEx(nCount, lpHandles,dwMilliseconds, dwWakeMask, dwFlags);
return IsInsideMessagePumpHook() ? gmph.RealMsgWaitForMultipleObjectsEx(nCount, lpHandles, dwMilliseconds, dwWakeMask, dwFlags) : RealMsgWaitForMultipleObjectsEx(nCount, lpHandles,dwMilliseconds, dwWakeMask, dwFlags);
}

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: messagebox.c,v 1.24 2004/02/05 22:09:15 gvg Exp $
/* $Id: messagebox.c,v 1.25 2004/04/09 20:03:15 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/messagebox.c
@ -35,13 +35,14 @@
#include <messages.h>
#include <user32.h>
#include <string.h>
#include <ntos/rtl.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <stdio.h>
#include <stdlib.h>
#include <debug.h>
#include "resource.h"
typedef UINT *LPUINT;
//typedef UINT *LPUINT;
#include <mmsystem.h>
/* DEFINES *******************************************************************/
@ -207,7 +208,7 @@ static INT_PTR CALLBACK MessageBoxProc( HWND hwnd, UINT message,
#define SAFETY_MARGIN 32 /* Extra number of bytes to allocate in case we counted wrong */
static int
MessageBoxTimeoutIndirectW(
CONST LPMSGBOXPARAMS lpMsgBoxParams, UINT Timeout)
CONST MSGBOXPARAMS *lpMsgBoxParams, UINT Timeout)
{
DLGTEMPLATE *tpl;
DLGITEMTEMPLATE *iico, *itxt;
@ -393,7 +394,7 @@ MessageBoxTimeoutIndirectW(
(wcslen(ButtonText[i]) + 1) * sizeof(WCHAR);
}
buf = RtlAllocateHeap(RtlGetProcessHeap(), 0, bufsize + SAFETY_MARGIN);
buf = RtlAllocateHeap(GetProcessHeap(), 0, bufsize + SAFETY_MARGIN);
/* Just to be safe.... */
if(!buf)
{
@ -633,7 +634,7 @@ MessageBoxTimeoutIndirectW(
if(hFont)
DeleteObject(hFont);
RtlFreeHeap(RtlGetProcessHeap(), 0, buf);
RtlFreeHeap(GetProcessHeap(), 0, buf);
return ret;
}
@ -667,7 +668,7 @@ MessageBoxExA(
UINT uType,
WORD wLanguageId)
{
MSGBOXPARAMS msgbox;
MSGBOXPARAMSA msgbox;
msgbox.cbSize = sizeof(msgbox);
msgbox.hwndOwner = hWnd;
@ -696,13 +697,13 @@ MessageBoxExW(
UINT uType,
WORD wLanguageId)
{
MSGBOXPARAMS msgbox;
MSGBOXPARAMSW msgbox;
msgbox.cbSize = sizeof(msgbox);
msgbox.hwndOwner = hWnd;
msgbox.hInstance = 0;
msgbox.lpszText = (LPCSTR)lpText;
msgbox.lpszCaption =(LPCSTR) lpCaption;
msgbox.lpszText = lpText;
msgbox.lpszCaption = lpCaption;
msgbox.dwStyle = uType;
msgbox.lpszIcon = NULL;
msgbox.dwContextHelpId = 0;
@ -719,9 +720,9 @@ MessageBoxExW(
int
STDCALL
MessageBoxIndirectA(
CONST LPMSGBOXPARAMS lpMsgBoxParams)
CONST MSGBOXPARAMSA *lpMsgBoxParams)
{
MSGBOXPARAMS msgboxW;
MSGBOXPARAMSW msgboxW;
UNICODE_STRING textW, captionW, iconW;
int ret;
@ -764,10 +765,10 @@ MessageBoxIndirectA(
msgboxW.cbSize = sizeof(msgboxW);
msgboxW.hwndOwner = lpMsgBoxParams->hwndOwner;
msgboxW.hInstance = lpMsgBoxParams->hInstance;
msgboxW.lpszText = (LPCSTR)textW.Buffer;
msgboxW.lpszCaption = (LPCSTR)captionW.Buffer;
msgboxW.lpszText = textW.Buffer;
msgboxW.lpszCaption = captionW.Buffer;
msgboxW.dwStyle = lpMsgBoxParams->dwStyle;
msgboxW.lpszIcon = (LPCSTR)iconW.Buffer;
msgboxW.lpszIcon = iconW.Buffer;
msgboxW.dwContextHelpId = lpMsgBoxParams->dwContextHelpId;
msgboxW.lpfnMsgBoxCallback = lpMsgBoxParams->lpfnMsgBoxCallback;
msgboxW.dwLanguageId = lpMsgBoxParams->dwLanguageId;
@ -793,7 +794,7 @@ MessageBoxIndirectA(
int
STDCALL
MessageBoxIndirectW(
CONST LPMSGBOXPARAMS lpMsgBoxParams)
CONST MSGBOXPARAMSW *lpMsgBoxParams)
{
return MessageBoxTimeoutIndirectW(lpMsgBoxParams, (UINT)-1);
}
@ -826,7 +827,7 @@ MessageBoxTimeoutA(
WORD wLanguageId,
DWORD dwTime)
{
MSGBOXPARAMS msgboxW;
MSGBOXPARAMSW msgboxW;
UNICODE_STRING textW, captionW;
int ret;
@ -843,8 +844,8 @@ MessageBoxTimeoutA(
msgboxW.cbSize = sizeof(msgboxW);
msgboxW.hwndOwner = hWnd;
msgboxW.hInstance = 0;
msgboxW.lpszText = (LPCSTR)textW.Buffer;
msgboxW.lpszCaption = (LPCSTR)captionW.Buffer;
msgboxW.lpszText = textW.Buffer;
msgboxW.lpszCaption = captionW.Buffer;
msgboxW.dwStyle = uType;
msgboxW.lpszIcon = NULL;
msgboxW.dwContextHelpId = 0;
@ -875,13 +876,13 @@ MessageBoxTimeoutW(
WORD wLanguageId,
DWORD dwTime)
{
MSGBOXPARAMS msgbox;
MSGBOXPARAMSW msgbox;
msgbox.cbSize = sizeof(msgbox);
msgbox.hwndOwner = hWnd;
msgbox.hInstance = 0;
msgbox.lpszText = (LPCSTR)lpText;
msgbox.lpszCaption =(LPCSTR) lpCaption;
msgbox.lpszText = lpText;
msgbox.lpszCaption = lpCaption;
msgbox.dwStyle = uType;
msgbox.lpszIcon = NULL;
msgbox.dwContextHelpId = 0;

View file

@ -66,6 +66,7 @@ Already defined in makefile now.
((Style & WS_CHILD) && (ParentStyle & WS_THICKFRAME) && !(ParentStyle & WS_MAXIMIZE) && \
(WindowRect.right - WindowRect.left == ParentClientRect.right) && \
(WindowRect.bottom - WindowRect.top == ParentClientRect.bottom)))
/*
* FIXME: This should be moved to a header
*/
@ -76,6 +77,8 @@ IntScrollHitTest(HWND hWnd, INT nBar, POINT pt, BOOL bDragging);
HPEN STDCALL
GetSysColorPen(int nIndex);
BOOL STDCALL GdiGradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
extern ATOM AtomInternalPos;
/* PRIVATE FUNCTIONS **********************************************************/

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: paint.c,v 1.25 2004/03/23 21:47:37 weiden Exp $
/* $Id: paint.c,v 1.26 2004/04/09 20:03:15 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/paint.c
@ -38,6 +38,8 @@ static HBRUSH FrameBrushes[13];
static HBITMAP hHatch;
const DWORD HatchBitmap[4] = {0x5555AAAA, 0x5555AAAA, 0x5555AAAA, 0x5555AAAA};
BOOL STDCALL PolyPatBlt(HDC,DWORD,PPATRECT,INT,ULONG);
/* FUNCTIONS *****************************************************************/
VOID

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: prop.c,v 1.11 2004/01/23 23:38:26 ekohl Exp $
/* $Id: prop.c,v 1.12 2004/04/09 20:03:15 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c
@ -31,6 +31,8 @@
#include <windows.h>
#include <user32.h>
#include <strpool.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <debug.h>
typedef struct _PROPLISTITEM
@ -72,12 +74,12 @@ EnumPropsA(HWND hWnd, PROPENUMPROCA lpEnumFunc)
if(Count > 0)
{
pli = HEAP_alloc(Count);
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
{
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
if(Status == STATUS_INVALID_HANDLE)
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
else
@ -98,7 +100,7 @@ EnumPropsA(HWND hWnd, PROPENUMPROCA lpEnumFunc)
break;
}
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
}
return ret;
@ -134,12 +136,12 @@ EnumPropsExA(HWND hWnd, PROPENUMPROCEXA lpEnumFunc, LPARAM lParam)
if(Count > 0)
{
pli = HEAP_alloc(Count);
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
{
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
if(Status == STATUS_INVALID_HANDLE)
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
else
@ -160,7 +162,7 @@ EnumPropsExA(HWND hWnd, PROPENUMPROCEXA lpEnumFunc, LPARAM lParam)
break;
}
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
}
return ret;
@ -196,12 +198,12 @@ EnumPropsExW(HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam)
if(Count > 0)
{
pli = HEAP_alloc(Count);
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
{
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
if(Status == STATUS_INVALID_HANDLE)
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
else
@ -222,7 +224,7 @@ EnumPropsExW(HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam)
break;
}
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
}
return ret;
@ -258,12 +260,12 @@ EnumPropsW(HWND hWnd, PROPENUMPROCW lpEnumFunc)
if(Count > 0)
{
pli = HEAP_alloc(Count);
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
{
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
if(Status == STATUS_INVALID_HANDLE)
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
else
@ -284,7 +286,7 @@ EnumPropsW(HWND hWnd, PROPENUMPROCW lpEnumFunc)
break;
}
HEAP_free(pli);
RtlFreeHeap(GetProcessHeap(), 0, pli);
}
return ret;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: text.c,v 1.8 2004/01/23 23:38:26 ekohl Exp $
/* $Id: text.c,v 1.9 2004/04/09 20:03:15 navaraf Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c
@ -32,12 +32,10 @@
#include <windows.h>
#include <user32.h>
#include <ntos/rtl.h>
#define NTOS_MODE_USER
#include <ntos.h>
#include <debug.h>
const unsigned short wctype_table[] =
{
};

View file

@ -1,4 +1,4 @@
/* $Id: window.c,v 1.107 2004/04/08 21:14:21 navaraf Exp $
/* $Id: window.c,v 1.108 2004/04/09 20:03:15 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -18,6 +18,8 @@
#include <strpool.h>
#include <user32/callback.h>
#include <user32/regcontrol.h>
#define NTOS_MODE_USER
#include <ntos.h>
#define NDEBUG
#include <debug.h>
@ -1453,7 +1455,7 @@ GetWindowContextHelpId(HWND hwnd)
/*
* @implemented
*/
DWORD
INT
STDCALL
InternalGetWindowText(HWND hWnd, LPWSTR lpString, int nMaxCount)
{

View file

@ -1,4 +1,4 @@
/* $Id: handle.c,v 1.16 2004/01/11 17:31:15 gvg Exp $
/* $Id: handle.c,v 1.17 2004/04/09 20:03:15 navaraf Exp $
*
* reactos/subsys/csrss/api/handle.c
*
@ -9,9 +9,8 @@
/* INCLUDES ******************************************************************/
#include <ddk/ntddk.h>
#include <csrss/csrss.h>
#include <ddk/ntddk.h>
#include <ntdll/rtl.h>
#include "api.h"

View file

@ -1,4 +1,4 @@
/* $Id: process.c,v 1.32 2004/01/11 17:31:15 gvg Exp $
/* $Id: process.c,v 1.33 2004/04/09 20:03:15 navaraf Exp $
*
* reactos/subsys/csrss/api/process.c
*
@ -9,9 +9,8 @@
/* INCLUDES ******************************************************************/
#include <ddk/ntddk.h>
#include <csrss/csrss.h>
#include <ddk/ntddk.h>
#include <ntdll/rtl.h>
#include "api.h"
#include "conio.h"
@ -172,8 +171,7 @@ CSR_API(CsrCreateProcess)
CSRSS_API_REQUEST ApiRequest;
CSRSS_API_REPLY ApiReply;
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
NewProcessData = CsrCreateProcessData(Request->Data.CreateProcessRequest.NewProcessId);
@ -195,11 +193,11 @@ CSR_API(CsrCreateProcess)
{
ApiRequest.Type = CSRSS_ALLOC_CONSOLE;
ApiRequest.Header.DataSize = sizeof(CSRSS_ALLOC_CONSOLE_REQUEST);
ApiRequest.Header.MessageSize = sizeof(LPC_MESSAGE) + sizeof(CSRSS_ALLOC_CONSOLE_REQUEST);
ApiRequest.Header.MessageSize = LPC_MESSAGE_BASE_SIZE + sizeof(CSRSS_ALLOC_CONSOLE_REQUEST);
ApiRequest.Data.AllocConsoleRequest.CtrlDispatcher = Request->Data.CreateProcessRequest.CtrlDispatcher;
ApiReply.Header.DataSize = sizeof(CSRSS_ALLOC_CONSOLE_REPLY);
ApiReply.Header.MessageSize = sizeof(LPC_MESSAGE) + sizeof(CSRSS_ALLOC_CONSOLE_REPLY);
ApiReply.Header.MessageSize = LPC_MESSAGE_BASE_SIZE + sizeof(CSRSS_ALLOC_CONSOLE_REPLY);
CsrApiCallHandler(NewProcessData, &ApiRequest, &ApiReply);
@ -263,8 +261,7 @@ CSR_API(CsrTerminateProcess)
{
NTSTATUS Status;
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY)
- sizeof(LPC_MESSAGE);
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY);
if (ProcessData == NULL)
@ -281,8 +278,7 @@ CSR_API(CsrTerminateProcess)
CSR_API(CsrConnectProcess)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Status = STATUS_SUCCESS;
@ -292,8 +288,7 @@ CSR_API(CsrConnectProcess)
CSR_API(CsrGetShutdownParameters)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL)
{
@ -311,8 +306,7 @@ CSR_API(CsrGetShutdownParameters)
CSR_API(CsrSetShutdownParameters)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL)
{
@ -330,7 +324,7 @@ CSR_API(CsrSetShutdownParameters)
CSR_API(CsrGetInputHandle)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL)
{
@ -355,7 +349,7 @@ CSR_API(CsrGetInputHandle)
CSR_API(CsrGetOutputHandle)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL)
{
@ -382,7 +376,7 @@ CSR_API(CsrGetOutputHandle)
CSR_API(CsrCloseHandle)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL)
{
@ -398,7 +392,7 @@ CSR_API(CsrCloseHandle)
CSR_API(CsrVerifyHandle)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Status = CsrVerifyObject(ProcessData, Request->Data.VerifyHandleRequest.Handle);
if (!NT_SUCCESS(Reply->Status))
@ -414,7 +408,7 @@ CSR_API(CsrDuplicateHandle)
Object_t *Object;
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
ProcessData = CsrGetProcessData(Request->Data.DuplicateHandleRequest.ProcessId);
Reply->Status = CsrGetObject(ProcessData, Request->Data.DuplicateHandleRequest.Handle, &Object);

View file

@ -1,4 +1,4 @@
/* $Id: user.c,v 1.2 2002/11/03 20:01:07 chorns Exp $
/* $Id: user.c,v 1.3 2004/04/09 20:03:15 navaraf Exp $
*
* reactos/subsys/csrss/api/user.c
*
@ -32,8 +32,7 @@ CSR_API(CsrRegisterServicesProcess)
NTSTATUS Status;
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ServicesProcessIdValid == TRUE)
{
@ -56,10 +55,7 @@ CSR_API(CsrRegisterServicesProcess)
CSR_API(CsrExitReactos)
{
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Status = STATUS_NOT_IMPLEMENTED;

View file

@ -1,4 +1,4 @@
/* $Id: wapi.c,v 1.33 2003/12/30 05:10:32 hyperion Exp $
/* $Id: wapi.c,v 1.34 2004/04/09 20:03:15 navaraf Exp $
*
* reactos/subsys/csrss/api/wapi.c
*
@ -10,10 +10,9 @@
/* INCLUDES ******************************************************************/
#include <ddk/ntddk.h>
#include <windows.h>
#include <ntdll/rtl.h>
#include <csrss/csrss.h>
#include <ddk/ntddk.h>
#include <ntdll/rtl.h>
#include <debug.h>
#include "api.h"
@ -93,7 +92,7 @@ CsrApiCallHandler(PCSRSS_PROCESS_DATA ProcessData,
{
DPRINT1("CSR: Unknown request type 0x%x\n", Request->Type);
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Status = STATUS_INVALID_SYSTEM_SERVICE;
}
}

View file

@ -1,4 +1,4 @@
/* $Id: init.c,v 1.25 2003/12/03 21:50:49 gvg Exp $
/* $Id: init.c,v 1.26 2004/04/09 20:03:15 navaraf Exp $
*
* reactos/subsys/csrss/init.c
*
@ -10,11 +10,11 @@
/* INCLUDES ******************************************************************/
#include <csrss/csrss.h>
#include <ddk/ntddk.h>
#include <ntdll/csr.h>
#include <ntdll/rtl.h>
#include <ntdll/ldr.h>
#include <csrss/csrss.h>
#include <win32k/win32k.h>
#include <rosrtl/string.h>

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.27 2003/12/30 05:11:54 hyperion Exp $
# $Id: makefile,v 1.28 2004/04/09 20:03:15 navaraf Exp $
PATH_TO_TOP = ../..
@ -18,7 +18,7 @@ TARGET_CFLAGS = -D__NTAPP__ -Wall -Werror -Iinclude
TARGET_LFLAGS = -nostdlib
# require os code to explicitly request A/W version of structs/functions
TARGET_CFLAGS += -D_DISABLE_TIDENTS
TARGET_CFLAGS += -D__USE_W32API -DWINVER=0x0600 -D_WIN32_WINNT=0x0501
SUBDIRS = win32csr

View file

@ -1,4 +1,4 @@
/* $Id: print.c,v 1.6 2003/10/20 18:02:04 gvg Exp $
/* $Id: print.c,v 1.7 2004/04/09 20:03:15 navaraf Exp $
*
* smss.c - Session Manager
*
@ -27,17 +27,16 @@
* Compiled successfully with egcs 1.1.2
*/
#include <ddk/ntddk.h>
#include <csrss/csrss.h>
#include <ddk/ntddk.h>
#include <ntos.h>
VOID STDCALL DisplayString(LPCWSTR lpwString)
{
UNICODE_STRING us;
RtlInitUnicodeString (&us, lpwString);
NtDisplayString (&us);
ZwDisplayString (&us);
}
VOID STDCALL PrintString (char* fmt, ...)
@ -48,7 +47,7 @@ VOID STDCALL PrintString (char* fmt, ...)
ANSI_STRING AnsiString;
va_start(ap, fmt);
vsprintf(buffer, fmt, ap);
vsprintf(buffer, fmt, ap);
va_end(ap);
RtlInitAnsiString (&AnsiString, buffer);

View file

@ -1,8 +1,11 @@
/* $Id: video.c,v 1.9 2003/12/26 09:52:37 navaraf Exp $
/* $Id: video.c,v 1.10 2004/04/09 20:03:15 navaraf Exp $
*
* ReactOS Project
*/
#include <windows.h>
#include <ddk/ntddk.h>
#include <ddk/ntapi.h>
#include <rosrtl/string.h>
ULONG
@ -28,7 +31,7 @@ InitializeVideoAddressSpace(VOID)
0,
NULL,
NULL);
Status = NtOpenSection(&PhysMemHandle, SECTION_ALL_ACCESS,
Status = ZwOpenSection(&PhysMemHandle, SECTION_ALL_ACCESS,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{

View file

@ -1,4 +1,4 @@
/* $Id: conio.c,v 1.9 2004/03/14 17:53:27 weiden Exp $
/* $Id: conio.c,v 1.10 2004/04/09 20:03:16 navaraf Exp $
*
* reactos/subsys/csrss/win32csr/conio.c
*
@ -241,7 +241,7 @@ CSR_API(CsrAllocConsole)
DPRINT("CsrAllocConsole\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL)
{
@ -326,7 +326,7 @@ CSR_API(CsrFreeConsole)
DPRINT("CsrFreeConsole\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (ProcessData == NULL || ProcessData->Console == NULL)
{
@ -516,7 +516,7 @@ CSR_API(CsrReadConsole)
/* truncate length to CSRSS_MAX_READ_CONSOLE_REQUEST */
nNumberOfCharsToRead = Request->Data.ReadConsoleRequest.NrCharactersToRead > CSRSS_MAX_READ_CONSOLE_REQUEST ? CSRSS_MAX_READ_CONSOLE_REQUEST : Request->Data.ReadConsoleRequest.NrCharactersToRead;
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
Buffer = Reply->Data.ReadConsoleReply.Buffer;
Status = ConioLockConsole(ProcessData, Request->Data.ReadConsoleRequest.ConsoleHandle,
@ -842,8 +842,7 @@ CSR_API(CsrWriteConsole)
DPRINT("CsrWriteConsole\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (Request->Header.DataSize
< sizeof(CSRSS_WRITE_CONSOLE_REQUEST) - 1
@ -1338,7 +1337,7 @@ CSR_API(CsrGetScreenBufferInfo)
DPRINT("CsrGetScreenBufferInfo\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ScreenBufferInfoRequest.ConsoleHandle, &Buff);
if (! NT_SUCCESS(Status))
@ -1380,7 +1379,7 @@ CSR_API(CsrSetCursor)
}
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.SetCursorRequest.ConsoleHandle, &Buff);
if (! NT_SUCCESS(Status))
@ -1453,8 +1452,7 @@ CSR_API(CsrWriteConsoleOutputChar)
DPRINT("CsrWriteConsoleOutputChar\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (Request->Header.DataSize
< sizeof(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST) - 1
@ -1533,7 +1531,7 @@ CSR_API(CsrFillOutputChar)
DPRINT("CsrFillOutputChar\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioConsoleFromProcessData(ProcessData, &Console);
if (! NT_SUCCESS(Status))
@ -1598,7 +1596,7 @@ CSR_API(CsrReadInputEvent)
DPRINT("CsrReadInputEvent\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Data.ReadInputReply.Event = ProcessData->ConsoleEvent;
Status = ConioLockConsole(ProcessData, Request->Data.ReadInputRequest.ConsoleHandle, &Console);
@ -1655,8 +1653,7 @@ CSR_API(CsrWriteConsoleOutputAttrib)
DPRINT("CsrWriteConsoleOutputAttrib\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (Request->Header.DataSize
< sizeof(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REQUEST) - 1
@ -1743,7 +1740,7 @@ CSR_API(CsrFillOutputAttrib)
}
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.FillOutputAttribRequest.ConsoleHandle, &Buff);
if (! NT_SUCCESS(Status))
{
@ -1799,7 +1796,7 @@ CSR_API(CsrGetCursorInfo)
DPRINT("CsrGetCursorInfo\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.GetCursorInfoRequest.ConsoleHandle, &Buff);
if (! NT_SUCCESS(Status))
@ -1823,7 +1820,7 @@ CSR_API(CsrSetCursorInfo)
DPRINT("CsrSetCursorInfo\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioConsoleFromProcessData(ProcessData, &Console);
if (! NT_SUCCESS(Status))
@ -1931,7 +1928,7 @@ CSR_API(CsrSetConsoleMode)
DPRINT("CsrSetConsoleMode\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = Win32CsrGetObject(ProcessData,
Request->Data.SetConsoleModeRequest.ConsoleHandle,
(Object_t **) &Console);
@ -1968,7 +1965,7 @@ CSR_API(CsrGetConsoleMode)
DPRINT("CsrGetConsoleMode\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = Win32CsrGetObject(ProcessData, Request->Data.GetConsoleModeRequest.ConsoleHandle,
(Object_t **) &Console);
if (! NT_SUCCESS(Status))
@ -2017,7 +2014,7 @@ CSR_API(CsrCreateScreenBuffer)
}
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Buff = HeapAlloc(Win32CsrApiHeap, 0, sizeof(CSRSS_SCREEN_BUFFER));
if (NULL == Buff)
@ -2060,7 +2057,7 @@ CSR_API(CsrSetScreenBuffer)
}
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.SetScreenBufferRequest.OutputHandle, &Buff);
if (! NT_SUCCESS(Status))
@ -2102,7 +2099,7 @@ CSR_API(CsrSetTitle)
DPRINT("CsrSetTitle\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (Request->Header.DataSize
< sizeof(CSRSS_SET_TITLE_REQUEST) - 1
@ -2144,7 +2141,7 @@ CSR_API(CsrGetTitle)
DPRINT("CsrGetTitle\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData,
Request->Data.GetTitleRequest.ConsoleHandle,
&Console);
@ -2192,7 +2189,7 @@ CSR_API(CsrWriteConsoleOutput)
}
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData,
Request->Data.WriteConsoleOutputRequest.ConsoleHandle,
&Buff);
@ -2276,7 +2273,7 @@ CSR_API(CsrFlushInputBuffer)
DPRINT("CsrFlushInputBuffer\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData,
Request->Data.FlushInputBufferRequest.ConsoleInput,
&Console);
@ -2327,7 +2324,7 @@ CSR_API(CsrScrollConsoleScreenBuffer)
}
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, ConsoleHandle, &Buff);
if (! NT_SUCCESS(Status))
{
@ -2424,7 +2421,7 @@ CSR_API(CsrReadConsoleOutputChar)
DPRINT("CsrReadConsoleOutputChar\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
ReadBuffer = Reply->Data.ReadConsoleOutputCharReply.String;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputCharRequest.ConsoleHandle, &Buff);
@ -2479,7 +2476,7 @@ CSR_API(CsrReadConsoleOutputAttrib)
DPRINT("CsrReadConsoleOutputAttrib\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
ReadBuffer = Reply->Data.ReadConsoleOutputAttribReply.String;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputAttribRequest.ConsoleHandle, &Buff);
@ -2535,7 +2532,7 @@ CSR_API(CsrGetNumberOfConsoleInputEvents)
DPRINT("CsrGetNumberOfConsoleInputEvents\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData, Request->Data.GetNumInputEventsRequest.ConsoleHandle, &Console);
if (! NT_SUCCESS(Status))
@ -2580,7 +2577,7 @@ CSR_API(CsrPeekConsoleInput)
DPRINT("CsrPeekConsoleInput\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData, Request->Data.GetNumInputEventsRequest.ConsoleHandle, &Console);
if(! NT_SUCCESS(Status))
@ -2650,7 +2647,7 @@ CSR_API(CsrReadConsoleOutput)
DPRINT("CsrReadConsoleOutput\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputRequest.ConsoleHandle, &Buff);
if (! NT_SUCCESS(Status))
@ -2727,7 +2724,7 @@ CSR_API(CsrWriteConsoleInput)
DPRINT("CsrWriteConsoleInput\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData, Request->Data.WriteConsoleInputRequest.ConsoleHandle, &Console);
if (! NT_SUCCESS(Status))
@ -2817,7 +2814,7 @@ CSR_API(CsrHardwareStateProperty)
DPRINT("CsrHardwareStateProperty\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData,
Request->Data.ConsoleHardwareStateRequest.ConsoleHandle,
@ -2857,7 +2854,7 @@ CSR_API(CsrGetConsoleWindow)
DPRINT("CsrGetConsoleWindow\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData,
Request->Data.ConsoleWindowRequest.ConsoleHandle,
@ -2881,7 +2878,7 @@ CSR_API(CsrSetConsoleIcon)
DPRINT("CsrSetConsoleIcon\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Status = ConioLockConsole(ProcessData,
Request->Data.ConsoleSetWindowIconRequest.ConsoleHandle,
@ -2893,7 +2890,7 @@ CSR_API(CsrSetConsoleIcon)
Console->hWindowIcon = Request->Data.ConsoleSetWindowIconRequest.WindowIcon;
Reply->Status = (ConioChangeIcon(Console) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL);
Reply->Data.ConsoleSetWindowIconReply.WindowIcon = Console->hWindow;
Reply->Data.ConsoleSetWindowIconReply.WindowIcon = Console->hWindowIcon;
ConioUnlockConsole(Console);

View file

@ -1,4 +1,4 @@
/* $Id: desktopbg.c,v 1.6 2004/01/17 15:18:25 navaraf Exp $
/* $Id: desktopbg.c,v 1.7 2004/04/09 20:03:16 navaraf Exp $
*
* reactos/subsys/csrss/win32csr/desktopbg.c
*
@ -7,6 +7,18 @@
* ReactOS Operating System
*/
/*
* There is a problem with size of LPC_MESSAGE structure. In the old ReactOS
* headers it doesn't contain the data field and so it has a different size.
* We must use this workaround to get our Data field 0-sized.
*/
#include <windef.h>
#include <winnt.h>
#undef ANYSIZE_ARRAY
#define ANYSIZE_ARRAY 0
#include <ddk/ntapi.h>
#include <windows.h>
#include <csrss/csrss.h>
@ -187,7 +199,7 @@ CSR_API(CsrCreateDesktop)
DPRINT("CsrCreateDesktop\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
if (! Initialized)
{
@ -241,7 +253,7 @@ CSR_API(CsrShowDesktop)
DPRINT("CsrShowDesktop\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Status = SendMessageW(Request->Data.ShowDesktopRequest.DesktopWindow,
PM_SHOW_DESKTOP,
@ -258,7 +270,7 @@ CSR_API(CsrHideDesktop)
DPRINT("CsrHideDesktop\n");
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
Reply->Status = SendMessageW(Request->Data.ShowDesktopRequest.DesktopWindow,
PM_HIDE_DESKTOP, 0, 0)

View file

@ -1,4 +1,4 @@
/* $Id: guiconsole.c,v 1.12 2004/03/14 17:53:27 weiden Exp $
/* $Id: guiconsole.c,v 1.13 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@ -63,7 +63,6 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
HDC Dc;
HFONT OldFont;
TEXTMETRICW Metrics;
NTSTATUS Status;
GuiData = HeapAlloc(Win32CsrApiHeap, HEAP_ZERO_MEMORY,
sizeof(GUI_CONSOLE_DATA) +
@ -74,13 +73,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
return FALSE;
}
Status = RtlInitializeCriticalSection(&GuiData->Lock);
if (!NT_SUCCESS(Status))
{
DPRINT1("RtlInitializeCriticalSection failed, Status=%x\n", Status);
HeapFree(Win32CsrApiHeap, 0, GuiData);
return FALSE;
}
InitializeCriticalSection(&GuiData->Lock);
GuiData->LineBuffer = (PWCHAR)(GuiData + 1);
@ -92,7 +85,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
if (NULL == GuiData->Font)
{
DPRINT1("GuiConsoleNcCreate: CreateFont failed\n");
RtlDeleteCriticalSection(&GuiData->Lock);
DeleteCriticalSection(&GuiData->Lock);
HeapFree(Win32CsrApiHeap, 0, GuiData);
return FALSE;
}
@ -101,7 +94,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
{
DPRINT1("GuiConsoleNcCreate: GetDC failed\n");
DeleteObject(GuiData->Font);
RtlDeleteCriticalSection(&GuiData->Lock);
DeleteCriticalSection(&GuiData->Lock);
HeapFree(Win32CsrApiHeap, 0, GuiData);
return FALSE;
}
@ -111,7 +104,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
DPRINT1("GuiConsoleNcCreate: SelectObject failed\n");
ReleaseDC(hWnd, Dc);
DeleteObject(GuiData->Font);
RtlDeleteCriticalSection(&GuiData->Lock);
DeleteCriticalSection(&GuiData->Lock);
HeapFree(Win32CsrApiHeap, 0, GuiData);
return FALSE;
}
@ -121,7 +114,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
SelectObject(Dc, OldFont);
ReleaseDC(hWnd, Dc);
DeleteObject(GuiData->Font);
RtlDeleteCriticalSection(&GuiData->Lock);
DeleteCriticalSection(&GuiData->Lock);
HeapFree(Win32CsrApiHeap, 0, GuiData);
return FALSE;
}
@ -498,7 +491,7 @@ GuiConsoleHandleNcDestroy(HWND hWnd)
KillTimer(hWnd, 1);
Console->PrivateData = NULL;
DeleteDC(GuiData->MemoryDC);
RtlDeleteCriticalSection(&GuiData->Lock);
DeleteCriticalSection(&GuiData->Lock);
HeapFree(Win32CsrApiHeap, 0, GuiData);
}

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: bitblt.c,v 1.47 2004/04/07 19:57:43 navaraf Exp $
/* $Id: bitblt.c,v 1.48 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -113,7 +113,7 @@ BltMask(SURFOBJ* Dest,
/* Pattern brushes */
PGDIBRUSHOBJ GdiBrush;
HBITMAP PatternSurface = NULL;
PSURFOBJ PatternObj;
SURFOBJ *PatternObj;
ULONG PatternWidth, PatternHeight, PatternY;
if (Mask == NULL)
@ -137,7 +137,7 @@ BltMask(SURFOBJ* Dest,
PatternSurface = BitmapToSurf(PatternBitmap, Dest->hdev);
BITMAPOBJ_UnlockBitmap(GdiBrush->hbmPattern);
PatternObj = (PSURFOBJ)AccessUserObject((ULONG)PatternSurface);
PatternObj = (SURFOBJ*)AccessUserObject((ULONG)PatternSurface);
PatternWidth = PatternObj->sizlBitmap.cx;
PatternHeight = PatternObj->sizlBitmap.cy;
}
@ -176,7 +176,7 @@ BltMask(SURFOBJ* Dest,
}
if (PatternSurface != NULL)
EngDeleteSurface(PatternSurface);
EngDeleteSurface((HSURF)PatternSurface);
return TRUE;
}
@ -223,7 +223,16 @@ CallDibBitBlt(SURFOBJ* OutputObj,
POINTL* BrushOrigin,
ROP4 Rop4)
{
return OutputGDI->DIB_BitBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputPoint, Brush, BrushOrigin, ColorTranslation, Rop4);
POINTL RealBrushOrigin;
if (BrushOrigin == NULL)
{
RealBrushOrigin.x = RealBrushOrigin.y = 0;
}
else
{
RealBrushOrigin = *BrushOrigin;
}
return OutputGDI->DIB_BitBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputPoint, Brush, RealBrushOrigin, ColorTranslation, Rop4);
}
INT abs(INT nm);
@ -600,7 +609,16 @@ CallDibStretchBlt(SURFOBJ* OutputObj,
POINTL* BrushOrigin,
ULONG Mode)
{
return OutputGDI->DIB_StretchBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputRect, MaskOrigin, BrushOrigin, ColorTranslation, Mode);
POINTL RealBrushOrigin;
if (BrushOrigin == NULL)
{
RealBrushOrigin.x = RealBrushOrigin.y = 0;
}
else
{
RealBrushOrigin = *BrushOrigin;
}
return OutputGDI->DIB_StretchBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputRect, MaskOrigin, RealBrushOrigin, ColorTranslation, Mode);
}

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: clip.c,v 1.18 2003/12/31 14:43:48 weiden Exp $
/* $Id: clip.c,v 1.19 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -43,7 +43,7 @@ VOID STDCALL IntEngDeleteClipRegion(CLIPOBJ *ClipObj)
}
CLIPOBJ* STDCALL
IntEngCreateClipRegion(ULONG count, PRECTL pRect, RECTL rcBounds)
IntEngCreateClipRegion(ULONG count, PRECTL pRect, PRECTL rcBounds)
{
HCLIP hClip;
CLIPGDI* clipInt;
@ -68,7 +68,7 @@ IntEngCreateClipRegion(ULONG count, PRECTL pRect, RECTL rcBounds)
clipUser->iDComplexity = DC_COMPLEX;
clipUser->iFComplexity = (count <= 4) ? FC_RECT4: FC_COMPLEX;
clipUser->iMode = TC_RECTANGLES;
RtlCopyMemory(&(clipUser->rclBounds), &rcBounds, sizeof(RECTL));
RtlCopyMemory(&(clipUser->rclBounds), rcBounds, sizeof(RECTL));
return clipUser;
}
@ -80,20 +80,20 @@ IntEngCreateClipRegion(ULONG count, PRECTL pRect, RECTL rcBounds)
if (hClip)
{
clipInt = (CLIPGDI *) AccessInternalObject(hClip);
RtlCopyMemory(clipInt->EnumRects.arcl, &rcBounds, sizeof(RECTL));
RtlCopyMemory(clipInt->EnumRects.arcl, rcBounds, sizeof(RECTL));
clipInt->EnumRects.c = 1;
clipInt->EnumOrder = CD_ANY;
clipUser = (CLIPOBJ *) AccessUserObject(hClip);
ASSERT(NULL != clipUser);
clipUser->iDComplexity = ((rcBounds.top==rcBounds.bottom)
&& (rcBounds.left==rcBounds.right))
clipUser->iDComplexity = ((rcBounds->top==rcBounds->bottom)
&& (rcBounds->left==rcBounds->right))
? DC_TRIVIAL : DC_RECT;
clipUser->iFComplexity = FC_RECT;
clipUser->iMode = TC_RECTANGLES;
DPRINT("IntEngCreateClipRegion: iDComplexity: %d\n", clipUser->iDComplexity);
RtlCopyMemory(&(clipUser->rclBounds), &rcBounds, sizeof(RECTL));
RtlCopyMemory(&(clipUser->rclBounds), rcBounds, sizeof(RECTL));
return clipUser;
}
}

View file

@ -20,7 +20,7 @@
#define __WIN32K_CLIP_H
typedef ULONG HCLIP;
CLIPOBJ* STDCALL IntEngCreateClipRegion( ULONG count, PRECTL pRect, RECTL rcBounds );
CLIPOBJ* STDCALL IntEngCreateClipRegion( ULONG count, PRECTL pRect, PRECTL rcBounds );
VOID STDCALL IntEngDeleteClipRegion(CLIPOBJ *ClipObj);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: copybits.c,v 1.22 2004/03/05 09:02:41 hbirr Exp $
/* $Id: copybits.c,v 1.23 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -55,6 +55,7 @@ EngCopyBits(SURFOBJ *Dest,
POINTL ptlTmp;
RECT_ENUM RectEnum;
BOOL EnumMore;
POINTL BrushOrigin;
MouseSafetyOnDrawStart(Source, SourceGDI, SourcePoint->x, SourcePoint->y,
(SourcePoint->x + abs(DestRect->right - DestRect->left)),
@ -127,10 +128,12 @@ EngCopyBits(SURFOBJ *Dest,
SourceGDI = (PSURFGDI)AccessInternalObjectFromUserObject(Source);
DestGDI = (PSURFGDI)AccessInternalObjectFromUserObject(Dest);
BrushOrigin.x = BrushOrigin.y = 0;
switch(clippingType)
{
case DC_TRIVIAL:
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, DestRect, SourcePoint, NULL, NULL, ColorTranslation, SRCCOPY);
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, DestRect, SourcePoint, NULL, BrushOrigin, ColorTranslation, SRCCOPY);
MouseSafetyOnDrawEnd(Dest, DestGDI);
MouseSafetyOnDrawEnd(Source, SourceGDI);
@ -144,7 +147,7 @@ EngCopyBits(SURFOBJ *Dest,
ptlTmp.x = SourcePoint->x + rclTmp.left - DestRect->left;
ptlTmp.y = SourcePoint->y + rclTmp.top - DestRect->top;
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, &rclTmp, &ptlTmp, NULL, NULL, ColorTranslation, SRCCOPY);
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, &rclTmp, &ptlTmp, NULL, BrushOrigin, ColorTranslation, SRCCOPY);
MouseSafetyOnDrawEnd(Dest, DestGDI);
MouseSafetyOnDrawEnd(Source, SourceGDI);
@ -170,7 +173,7 @@ EngCopyBits(SURFOBJ *Dest,
ptlTmp.y = SourcePoint->y + prcl->top - DestRect->top;
if(!DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI,
prcl, &ptlTmp, NULL, NULL, ColorTranslation, SRCCOPY)) return FALSE;
prcl, &ptlTmp, NULL, BrushOrigin, ColorTranslation, SRCCOPY)) return FALSE;
prcl++;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: event.c,v 1.1 2004/03/08 07:04:56 dwelch Exp $
/* $Id: event.c,v 1.2 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -27,6 +27,9 @@
* 2/10/1999: Created
*/
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <ddk/winddi.h>
#include <ddk/ntddk.h>
#include <include/eng.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: float.c,v 1.1 2004/03/11 21:38:58 dwelch Exp $
/* $Id: float.c,v 1.2 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -52,7 +52,7 @@ EngRestoreFloatingPointState ( IN VOID *Buffer )
return TRUE;
}
BOOL
ULONG
STDCALL
EngSaveFloatingPointState(OUT VOID *Buffer,
IN ULONG BufferSize)

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: gradient.c,v 1.7 2004/04/06 21:53:48 weiden Exp $
/* $Id: gradient.c,v 1.8 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -93,7 +93,7 @@ IntEngGradientFillRect(
SURFOBJ *OutputObj;
SURFGDI *OutputGDI;
TRIVERTEX *v1, *v2;
RECT rcGradient, rcSG;
RECTL rcGradient, rcSG;
RECT_ENUM RectEnum;
BOOL EnumMore;
ULONG i;
@ -139,7 +139,7 @@ IntEngGradientFillRect(
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
{
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
if(NtGdiIntersectRect(&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)&rcSG))
{
HVINITCOL(Red, 0);
HVINITCOL(Green, 1);
@ -166,7 +166,7 @@ IntEngGradientFillRect(
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
{
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
if(NtGdiIntersectRect(&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)&rcSG))
{
HVINITCOL(Red, 0);
HVINITCOL(Green, 1);
@ -201,7 +201,7 @@ IntEngGradientFillRect(
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
{
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
if(NtGdiIntersectRect(&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)&rcSG))
{
for(; FillRect.top < FillRect.bottom; FillRect.top++)
{
@ -337,7 +337,7 @@ IntEngGradientFillTriangle(
ULONG i;
POINTL Translate;
INTENG_ENTER_LEAVE EnterLeave;
RECT FillRect;
RECTL FillRect;
ULONG Color;
BOOL sx[NLINES];
@ -382,7 +382,7 @@ IntEngGradientFillTriangle(
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++)
{
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
if(NtGdiIntersectRect((PRECT)&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)prclExtents))
{
BOOL InY;
@ -430,7 +430,7 @@ IntEngGradientFillTriangle(
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++)
{
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
if(NtGdiIntersectRect((PRECT)&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)prclExtents))
{
S_INITLINE(v1, v3, 0);
S_INITLINE(v1, v2, 1);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id: lineto.c,v 1.31 2004/03/27 00:35:02 weiden Exp $
* $Id: lineto.c,v 1.32 2004/04/09 20:03:16 navaraf Exp $
*/
#include <ddk/winddi.h>
@ -502,9 +502,15 @@ IntEngLineTo(SURFOBJ *DestSurf,
{
BOOLEAN ret;
SURFGDI *SurfGDI;
PGDIBRUSHOBJ GdiBrush;
RECTL b;
if (Brush->logbrush.lbStyle == BS_NULL)
GdiBrush = CONTAINING_RECORD(
Brush,
GDIBRUSHOBJ,
BrushObject);
if (GdiBrush->flAttrs & GDIBRUSH_IS_NULL)
return TRUE;
/* No success yet */

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: misc.c,v 1.4 2004/02/11 19:26:51 weiden Exp $ */
/* $Id: misc.c,v 1.5 2004/04/09 20:03:16 navaraf Exp $ */
#include <ddk/winddi.h>
#include <include/dib.h>
#include <include/object.h>
@ -110,7 +110,7 @@ IntEngEnter(PINTENG_ENTER_LEAVE EnterLeave,
{
EngDeleteClip(EnterLeave->TrivialClipObj);
EngFreeMem((*OutputObj)->pvBits);
EngDeleteSurface(EnterLeave->OutputBitmap);
EngDeleteSurface((HSURF)EnterLeave->OutputBitmap);
return FALSE;
}
EnterLeave->DestRect.left = DestRect->left;
@ -182,7 +182,7 @@ IntEngLeave(PINTENG_ENTER_LEAVE EnterLeave)
}
}
EngFreeMem(EnterLeave->OutputObj->pvBits);
EngDeleteSurface(EnterLeave->OutputBitmap);
EngDeleteSurface((HSURF)EnterLeave->OutputBitmap);
EngDeleteClip(EnterLeave->TrivialClipObj);
}
else

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: mouse.c,v 1.64 2004/03/15 20:21:50 navaraf Exp $
/* $Id: mouse.c,v 1.65 2004/04/09 20:03:16 navaraf Exp $
*
* PROJECT: ReactOS kernel
* PURPOSE: Mouse
@ -30,7 +30,7 @@
#include <windows.h>
#include <ddk/ntddk.h>
#include <ddk/ntddmou.h>
#include <win32k/win32k.h>
#include <ddk/winddi.h>
#include <win32k/dc.h>
#include "objects.h"
#include "include/msgqueue.h"
@ -54,7 +54,7 @@
/* FUNCTIONS *****************************************************************/
BOOL FASTCALL
IntIsPrimarSurface(PSURFGDI SurfGDI);
IntIsPrimarySurface(PSURFGDI SurfGDI);
BOOL FASTCALL
@ -84,7 +84,7 @@ IntSwapMouseButton(PWINSTATION_OBJECT WinStaObject, BOOL Swap)
}
INT STDCALL
MouseSafetyOnDrawStart(PSURFOBJ SurfObj, PSURFGDI SurfGDI, LONG HazardX1,
MouseSafetyOnDrawStart(SURFOBJ *SurfObj, PSURFGDI SurfGDI, LONG HazardX1,
LONG HazardY1, LONG HazardX2, LONG HazardY2)
/*
* FUNCTION: Notify the mouse driver that drawing is about to begin in
@ -113,7 +113,7 @@ MouseSafetyOnDrawStart(PSURFOBJ SurfObj, PSURFGDI SurfGDI, LONG HazardX1,
ObDereferenceObject(InputWindowStation);
return(FALSE);
}
if (!IntIsPrimarSurface(SurfGDI) || MouseEnabled == FALSE)
if (!IntIsPrimarySurface(SurfGDI) || MouseEnabled == FALSE)
{
ObDereferenceObject(InputWindowStation);
return(FALSE);
@ -176,7 +176,7 @@ SetPointerRect(PSYSTEM_CURSORINFO CurInfo, PRECTL PointerRect)
}
INT FASTCALL
MouseSafetyOnDrawEnd(PSURFOBJ SurfObj, PSURFGDI SurfGDI)
MouseSafetyOnDrawEnd(SURFOBJ *SurfObj, SURFGDI *SurfGDI)
/*
* FUNCTION: Notify the mouse driver that drawing has finished on a surface.
*/
@ -201,7 +201,7 @@ MouseSafetyOnDrawEnd(PSURFOBJ SurfObj, PSURFGDI SurfGDI)
}
MouseEnabled = CurInfo->Enabled && CurInfo->ShowingCursor;
if (!IntIsPrimarSurface(SurfGDI) || MouseEnabled == FALSE)
if (!IntIsPrimarySurface(SurfGDI) || MouseEnabled == FALSE)
{
ExReleaseFastMutex(&CurInfo->CursorMutex);
ObDereferenceObject(InputWindowStation);
@ -243,7 +243,7 @@ MouseMoveCursor(LONG X, LONG Y)
HDC hDC;
PDC dc;
BOOL res = FALSE;
PSURFOBJ SurfObj;
SURFOBJ *SurfObj;
PSURFGDI SurfGDI;
PSYSTEM_CURSORINFO CurInfo;
MSG Msg;
@ -269,7 +269,7 @@ MouseMoveCursor(LONG X, LONG Y)
return FALSE;
}
dc = DC_LockDc(hDC);
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface);
DC_UnlockDc( hDC );
IntCheckClipCursor(&X, &Y, CurInfo);
@ -323,7 +323,7 @@ MouseGDICallBack(PMOUSE_INPUT_DATA Data, ULONG InputCount)
LONG dScroll = 0;
HDC hDC;
PDC dc;
PSURFOBJ SurfObj;
SURFOBJ *SurfObj;
PSURFGDI SurfGDI;
MSG Msg;
RECTL PointerRect;
@ -349,7 +349,7 @@ MouseGDICallBack(PMOUSE_INPUT_DATA Data, ULONG InputCount)
return;
dc = DC_LockDc(hDC);
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface);
DC_UnlockDc( hDC );
@ -499,7 +499,7 @@ VOID FASTCALL
EnableMouse(HDC hDisplayDC)
{
PDC dc;
PSURFOBJ SurfObj;
SURFOBJ *SurfObj;
PSURFGDI SurfGDI;
if( hDisplayDC && InputWindowStation)
@ -511,7 +511,7 @@ EnableMouse(HDC hDisplayDC)
}
dc = DC_LockDc(hDisplayDC);
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface);
DC_UnlockDc( hDisplayDC );

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: nls.c,v 1.2 2003/07/11 15:59:37 royce Exp $
/* $Id: nls.c,v 1.3 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -31,7 +31,7 @@
#include <ddk/winddi.h>
#include <ddk/ntddk.h>
#include <ntos.h>
/* FUNCTIONS ****************************************************************/

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: objects.h,v 1.29 2004/04/06 17:54:32 weiden Exp $
/* $Id: objects.h,v 1.30 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -157,12 +157,12 @@ typedef VOID (*PFN_DIB_VLine) (SURFOBJ *, LONG, LONG, LONG, ULONG);
typedef BOOLEAN (*PFN_DIB_BitBlt) (SURFOBJ * DestSurf, SURFOBJ * SourceSurf,
PSURFGDI DestGDI, PSURFGDI SourceGDI,
RECTL * DestRect, POINTL * SourcePoint,
BRUSHOBJ *BrushObj, POINTL * BrushOrigin,
BRUSHOBJ *BrushObj, POINTL BrushOrigin,
XLATEOBJ *ColorTranslation, ULONG Rop4);
typedef BOOLEAN (*PFN_DIB_StretchBlt) (SURFOBJ * DestSurf, SURFOBJ * SourceSurf,
PSURFGDI DestGDI, PSURFGDI SourceGDI,
RECTL * DestRect, RECTL * SourceRect,
POINTL *MaskOrigin, POINTL * BrushOrigin,
POINTL *MaskOrigin, POINTL BrushOrigin,
XLATEOBJ *ColorTranslation, ULONG Mode);
typedef BOOLEAN (*PFN_DIB_TransparentBlt) (SURFOBJ *, SURFOBJ *, PSURFGDI, PSURFGDI,
RECTL* , POINTL *, XLATEOBJ *,ULONG);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: surface.c,v 1.36 2004/04/06 17:54:32 weiden Exp $
/* $Id: surface.c,v 1.37 2004/04/09 20:03:16 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -111,7 +111,7 @@ static VOID Dummy_VLine(SURFOBJ* SurfObj, LONG x, LONG y1, LONG y2, ULONG c)
static BOOLEAN Dummy_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
SURFGDI *DestGDI, SURFGDI *SourceGDI,
RECTL* DestRect, POINTL *SourcePoint,
BRUSHOBJ* BrushObj, POINTL* BrushOrign,
BRUSHOBJ* BrushObj, POINTL BrushOrign,
XLATEOBJ *ColorTranslation, ULONG Rop4)
{
return FALSE;
@ -120,7 +120,7 @@ static BOOLEAN Dummy_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
static BOOLEAN Dummy_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
SURFGDI *DestGDI, SURFGDI *SourceGDI,
RECTL* DestRect, RECTL *SourceRect,
POINTL* MaskOrigin, POINTL* BrushOrign,
POINTL* MaskOrigin, POINTL BrushOrign,
XLATEOBJ *ColorTranslation, ULONG Mode)
{
return FALSE;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: transblt.c,v 1.16 2004/04/07 22:17:36 weiden Exp $
/* $Id: transblt.c,v 1.17 2004/04/09 20:03:18 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -47,10 +47,10 @@
BOOL STDCALL
EngTransparentBlt(PSURFOBJ Dest,
PSURFOBJ Source,
PCLIPOBJ Clip,
PXLATEOBJ ColorTranslation,
EngTransparentBlt(SURFOBJ *Dest,
SURFOBJ *Source,
CLIPOBJ *Clip,
XLATEOBJ *ColorTranslation,
PRECTL DestRect,
PRECTL SourceRect,
ULONG iTransColor,
@ -217,10 +217,10 @@ EngTransparentBlt(PSURFOBJ Dest,
}
BOOL FASTCALL
IntEngTransparentBlt(PSURFOBJ Dest,
PSURFOBJ Source,
PCLIPOBJ Clip,
PXLATEOBJ ColorTranslation,
IntEngTransparentBlt(SURFOBJ *Dest,
SURFOBJ *Source,
CLIPOBJ *Clip,
XLATEOBJ *ColorTranslation,
PRECTL DestRect,
PRECTL SourceRect,
ULONG iTransColor,

View file

@ -3,6 +3,7 @@
#include <windows.h>
#include <ddk/ntddk.h>
#include <ddk/ntapi.h>
#include <napi/win32.h>
#define IS_ATOM(x) \

View file

@ -1,9 +1,11 @@
#ifndef _WIN32K_COLOR_H
#define _WIN32K_COLOR_H
#define NB_RESERVED_COLORS 20 /* number of fixed colors in system palette */
const PALETTEENTRY* FASTCALL COLOR_GetSystemPaletteTemplate (VOID);
COLORREF STDCALL COLOR_LookupNearestColor (PALETTEENTRY* palPalEntry, INT size, COLORREF color);
INT STDCALL COLOR_PaletteLookupExactIndex (PALETTEENTRY* palPalEntry, INT size, COLORREF col);
INT STDCALL COLOR_PaletteLookupPixel(PALETTEENTRY *palPalEntry, INT size, PXLATEOBJ XlateObj, COLORREF col, BOOL skipReserved);
INT STDCALL COLOR_PaletteLookupPixel(PALETTEENTRY *palPalEntry, INT size, XLATEOBJ *XlateObj, COLORREF col, BOOL skipReserved);
#endif /* _WIN32K_COLOR_H */

View file

@ -68,13 +68,13 @@ BOOL STDCALL IntEngPolyline(SURFOBJ *DestSurf,
MIX mix);
CLIPOBJ* STDCALL IntEngCreateClipRegion(ULONG count,
PRECTL pRect,
RECTL rcBounds);
PRECTL rcBounds);
BOOL FASTCALL
IntEngTransparentBlt(PSURFOBJ Dest,
PSURFOBJ Source,
PCLIPOBJ Clip,
PXLATEOBJ ColorTranslation,
IntEngTransparentBlt(SURFOBJ *Dest,
SURFOBJ *Source,
CLIPOBJ *Clip,
XLATEOBJ *ColorTranslation,
PRECTL DestRect,
PRECTL SourceRect,
ULONG iTransColor,

View file

@ -21,7 +21,7 @@ IntPatBlt(DC *dc,
INT Width,
INT Height,
DWORD ROP,
PBRUSHOBJ BrushObj);
BRUSHOBJ *BrushObj);
/* Pen functions */

View file

@ -1,6 +1,8 @@
#ifndef _WIN32K_PALETTE_H
#define _WIN32K_PALETTE_H
#define NO_MAPPING
#define PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */
#define PALETTE_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
@ -14,8 +16,8 @@ typedef struct {
} ColorShifts;
typedef struct _PALGDI {
PALOBJ PalObj;
PALOBJ PalObj;
XLATEOBJ *logicalToSystem;
HPALETTE Self;
ULONG Mode; // PAL_INDEXED, PAL_BITFIELDS, PAL_RGB, PAL_BGR
ULONG NumColors;
@ -37,7 +39,9 @@ HPALETTE FASTCALL PALETTE_AllocPalette(ULONG Mode,
HPALETTE FASTCALL PALETTE_Init (VOID);
VOID FASTCALL PALETTE_ValidateFlags (PALETTEENTRY* lpPalE, INT size);
#ifndef NO_MAPPING
INT STDCALL PALETTE_SetMapping(PALOBJ* palPtr, UINT uStart, UINT uNum, BOOL mapOnly);
#endif
INT FASTCALL PALETTE_ToPhysical (PDC dc, COLORREF color);
PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID);

View file

@ -2,6 +2,7 @@
#define _WIN32K_USERATOM_H
#include <windows.h>
#include <ddk/ntapi.h>
RTL_ATOM FASTCALL
IntAddAtom(LPWSTR AtomName);

View file

@ -16,16 +16,70 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: loader.c,v 1.14 2004/03/07 04:44:41 dwelch Exp $
/* $Id: loader.c,v 1.15 2004/04/09 20:03:18 navaraf Exp $
*
*/
#include <ddk/ntddk.h>
#include <ddk/winddi.h>
#include <ddk/ntapi.h>
#define NDEBUG
#include <debug.h>
#ifdef __USE_W32API
PIMAGE_NT_HEADERS STDCALL
RtlImageNtHeader(IN PVOID BaseAddress);
#endif
/*
* This is copied from ntdll... It's needed for loading keyboard dlls.
*/
PVOID
STDCALL
RtlImageDirectoryEntryToData (
PVOID BaseAddress,
BOOLEAN bFlag,
ULONG Directory,
PULONG Size
)
{
PIMAGE_NT_HEADERS NtHeader;
PIMAGE_SECTION_HEADER SectionHeader;
ULONG Va;
ULONG Count;
NtHeader = RtlImageNtHeader (BaseAddress);
if (NtHeader == NULL)
return NULL;
if (Directory >= NtHeader->OptionalHeader.NumberOfRvaAndSizes)
return NULL;
Va = NtHeader->OptionalHeader.DataDirectory[Directory].VirtualAddress;
if (Va == 0)
return NULL;
if (Size)
*Size = NtHeader->OptionalHeader.DataDirectory[Directory].Size;
if (bFlag)
return (PVOID)(BaseAddress + Va);
/* image mapped as ordinary file, we must find raw pointer */
SectionHeader = (PIMAGE_SECTION_HEADER)(NtHeader + 1);
Count = NtHeader->FileHeader.NumberOfSections;
while (Count--)
{
if (SectionHeader->VirtualAddress == Va)
return (PVOID)(BaseAddress + SectionHeader->PointerToRawData);
SectionHeader++;
}
return NULL;
}
/*
* Blatantly stolen from ldr/utils.c in ntdll. I can't link ntdll from
* here, though.
@ -147,52 +201,4 @@ EngLoadModule(LPWSTR ModuleName)
return (HANDLE)GdiDriverInfo.ModuleBase;
}
/*
* This is copied from ntdll... It's needed for loading keyboard dlls.
*/
PVOID
STDCALL
RtlImageDirectoryEntryToData (
PVOID BaseAddress,
BOOLEAN bFlag,
ULONG Directory,
PULONG Size
)
{
PIMAGE_NT_HEADERS NtHeader;
PIMAGE_SECTION_HEADER SectionHeader;
ULONG Va;
ULONG Count;
NtHeader = RtlImageNtHeader (BaseAddress);
if (NtHeader == NULL)
return NULL;
if (Directory >= NtHeader->OptionalHeader.NumberOfRvaAndSizes)
return NULL;
Va = NtHeader->OptionalHeader.DataDirectory[Directory].VirtualAddress;
if (Va == 0)
return NULL;
if (Size)
*Size = NtHeader->OptionalHeader.DataDirectory[Directory].Size;
if (bFlag)
return (PVOID)(BaseAddress + Va);
/* image mapped as ordinary file, we must find raw pointer */
SectionHeader = (PIMAGE_SECTION_HEADER)(NtHeader + 1);
Count = NtHeader->FileHeader.NumberOfSections;
while (Count--)
{
if (SectionHeader->VirtualAddress == Va)
return (PVOID)(BaseAddress + SectionHeader->PointerToRawData);
SectionHeader++;
}
return NULL;
}
/* EOF */

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: dllmain.c,v 1.67 2004/02/24 01:30:57 weiden Exp $
/* $Id: dllmain.c,v 1.68 2004/04/09 20:03:18 navaraf Exp $
*
* Entry Point for win32k.sys
*/
@ -26,6 +26,10 @@
#include <windows.h>
#define NTOS_MODE_KERNEL
#include <ntos.h>
#ifdef __USE_W32API
#include <ddk/ddrawint.h>
#endif
#include <ddk/winddi.h>
#include <win32k/win32k.h>
@ -49,6 +53,25 @@
#define NDEBUG
#include <win32k/debug1.h>
#ifdef __USE_W32API
typedef NTSTATUS (STDCALL *PW32_PROCESS_CALLBACK)(
struct _EPROCESS *Process,
BOOLEAN Create);
typedef NTSTATUS (STDCALL *PW32_THREAD_CALLBACK)(
struct _ETHREAD *Thread,
BOOLEAN Create);
VOID STDCALL
PsEstablishWin32Callouts(
PW32_PROCESS_CALLBACK W32ProcessCallback,
PW32_THREAD_CALLBACK W32ThreadCallback,
PVOID Param3,
PVOID Param4,
ULONG W32ThreadSize,
ULONG W32ProcessSize);
#endif
extern SSDT Win32kSSDT[];
extern SSPT Win32kSSPT[];
extern ULONG Win32kNumberOfSysCalls;

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.96 2004/03/11 21:38:58 dwelch Exp $
# $Id: makefile,v 1.97 2004/04/09 20:03:18 navaraf Exp $
PATH_TO_TOP = ../..
@ -27,11 +27,9 @@ TARGET_CFLAGS =\
-I$(PATH_TO_TOP)/ntoskrnl/include \
-I$(FREETYPE_DIR)/include \
-DUNICODE \
-Wall -Werror
# require os code to explicitly request A/W version of structs/functions
#TARGET_CFLAGS += -D_DISABLE_TIDENTS -D__USE_W32API
TARGET_CFLAGS += -D_DISABLE_TIDENTS
-Wall -Werror \
-D__USE_W32API -D_WIN32_WINNT=0x0500 \
-DWINVER=0x600 -D_WIN32K_
TARGET_LFLAGS =\
$(PATH_TO_TOP)/dk/nkm/lib/freetype.a \

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: driver.c,v 1.37 2004/03/06 01:22:03 navaraf Exp $
/* $Id: driver.c,v 1.38 2004/04/09 20:03:19 navaraf Exp $
*
* GDI Driver support routines
* (mostly swiped from Wine)
@ -33,6 +33,7 @@
#include <wchar.h>
#include <ddk/winddi.h>
#include <ddk/ntddvid.h>
#include <ddk/ntapi.h>
#include <rosrtl/string.h>
#include <include/tags.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: class.c,v 1.50 2004/04/05 14:42:30 weiden Exp $
/* $Id: class.c,v 1.51 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -161,9 +161,11 @@ NtUserGetClassInfo(HINSTANCE hInstance, LPCWSTR lpClassName,
NTSTATUS Status;
RTL_ATOM Atom;
DPRINT("NtUserGetClassInfo(%S)\n", lpClassName);
Status = ClassReferenceClassByNameOrAtom(&Class, lpClassName);
if (!NT_SUCCESS(Status))
{
DPRINT("Error (%x)\n", Status);
SetLastNtError(Status);
return 0;
}
@ -173,6 +175,7 @@ NtUserGetClassInfo(HINSTANCE hInstance, LPCWSTR lpClassName,
lpWndClassEx->lpfnWndProc = Class->lpfnWndProcA;
else
lpWndClassEx->lpfnWndProc = Class->lpfnWndProcW;
DPRINT("%x\n", lpWndClassEx->lpfnWndProc);
lpWndClassEx->cbClsExtra = Class->cbClsExtra;
lpWndClassEx->cbWndExtra = Class->cbWndExtra;
lpWndClassEx->hInstance = Class->hInstance;
@ -414,6 +417,7 @@ NtUserRegisterClassExWOW(
}
if (!IS_ATOM(SafeClass.lpszClassName))
{
DPRINT("NtUserRegisterClassExWOW(%S)\n", SafeClass.lpszClassName);
/* FIXME - Safely copy/verify the buffer first!!! */
Status = RtlAddAtomToAtomTable(WinStaObject->AtomTable,
(LPWSTR)SafeClass.lpszClassName,
@ -642,6 +646,8 @@ NtUserUnregisterClass(
PWNDCLASS_OBJECT Class;
PWINSTATION_OBJECT WinStaObject;
DPRINT("NtUserUnregisterClass(%S)\n", ClassNameOrAtom);
if (!ClassNameOrAtom)
{
SetLastWin32Error(ERROR_INVALID_PARAMETER);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id: desktop.c,v 1.9 2004/02/21 13:13:26 navaraf Exp $
* $Id: desktop.c,v 1.10 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -30,11 +30,9 @@
/* INCLUDES ******************************************************************/
#define __WIN32K__
#define NTOS_MODE_KERNEL
#include <ntos.h>
#include <ddk/ntddmou.h>
#include <csrss/csrss.h>
#include <win32k/win32k.h>
#include <csrss/csrss.h>
#include <include/winsta.h>
#include <include/desktop.h>
#include <include/object.h>
@ -116,9 +114,9 @@ IntGetDesktopWorkArea(PDESKTOP_OBJECT Desktop)
if((Ret->right == -1) && ScreenDeviceContext)
{
PDC dc;
PSURFOBJ SurfObj;
SURFOBJ *SurfObj;
dc = DC_LockDc(ScreenDeviceContext);
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
if(SurfObj)
{
Ret->right = SurfObj->sizlBitmap.cx;
@ -197,7 +195,7 @@ NotifyCsrss(PCSRSS_API_REQUEST Request, PCSRSS_API_REPLY Reply)
return Status;
}
Request->Header.DataSize = sizeof(CSRSS_API_REQUEST) - sizeof(LPC_MESSAGE);
Request->Header.DataSize = sizeof(CSRSS_API_REQUEST) - LPC_MESSAGE_BASE_SIZE;
Request->Header.MessageSize = sizeof(CSRSS_API_REQUEST);
Status = ZwRequestWaitReplyPort(WindowsApiPort,
@ -347,7 +345,7 @@ NtUserCreateDesktop(
UserMode,
dwDesiredAccess,
NULL,
&Desktop);
(HANDLE*)&Desktop);
if (NT_SUCCESS(Status))
{
@ -395,7 +393,7 @@ NtUserCreateDesktop(
STANDARD_RIGHTS_REQUIRED,
0,
NULL,
&Desktop);
(HANDLE*)&Desktop);
DesktopObject->Self = (HANDLE)Desktop;
@ -506,7 +504,7 @@ NtUserOpenDesktop(
UserMode,
dwDesiredAccess,
NULL,
&Desktop);
(HANDLE*)&Desktop);
if (!NT_SUCCESS(Status))
{
@ -558,7 +556,7 @@ NtUserOpenInputDesktop(
/* Get a pointer to the desktop object */
Status = IntValidateDesktopHandle(
InputDesktop,
InputDesktopHandle,
UserMode,
0,
&Object);
@ -578,7 +576,7 @@ NtUserOpenInputDesktop(
dwDesiredAccess,
ExDesktopObjectType,
UserMode,
&Desktop);
(HANDLE*)&Desktop);
ObDereferenceObject(Object);

View file

@ -1,4 +1,4 @@
/* $Id: misc.c,v 1.58 2004/04/02 22:16:09 weiden Exp $
/* $Id: misc.c,v 1.59 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -665,14 +665,14 @@ NtUserSystemParametersInfo(
{
HDC hDC;
PDC dc;
PSURFOBJ SurfObj;
SURFOBJ *SurfObj;
BOOL Ret = GradientCaptions;
hDC = IntGetScreenDC();
if(hDC)
{
dc = DC_LockDc(hDC);
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
if(SurfObj)
Ret = (SurfObj->iBitmapFormat > BMF_8BPP);
DC_UnlockDc(hDC);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: msgqueue.c,v 1.81 2004/04/07 21:12:08 gvg Exp $
/* $Id: msgqueue.c,v 1.82 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -246,7 +246,8 @@ MsqTranslateMouseMessage(HWND hWnd, UINT FilterLow, UINT FilterHigh,
{
PUSER_MESSAGE_QUEUE ThreadQueue;
USHORT Msg = Message->Msg.message;
PWINDOW_OBJECT CaptureWin, Window = NULL;
PWINDOW_OBJECT Window = NULL;
HWND CaptureWin;
POINT Point;
if (Msg == WM_LBUTTONDOWN ||

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id: painting.c,v 1.79 2004/03/23 18:08:07 weiden Exp $
* $Id: painting.c,v 1.80 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -54,6 +54,8 @@
#define NDEBUG
#include <win32k/debug1.h>
#define DCX_USESTYLE 0x10000
/* PRIVATE FUNCTIONS **********************************************************/
VOID FASTCALL
@ -755,7 +757,7 @@ NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* lPs)
}
else
{
NtUserGetClientRect(Window, &lPs->rcPaint);
NtUserGetClientRect(Window->Self, &lPs->rcPaint);
}
IntUnLockWindowUpdate(Window);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: scrollbar.c,v 1.28 2004/03/27 10:46:31 gvg Exp $
/* $Id: scrollbar.c,v 1.29 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -42,6 +42,9 @@
#include <include/scroll.h>
#include <include/painting.h>
#include <include/tags.h>
#ifdef __USE_W32API
#include <oleacc.h>
#endif
#define NDEBUG
#include <debug.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: timer.c,v 1.29 2004/03/31 18:37:12 gvg Exp $
/* $Id: timer.c,v 1.30 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -75,14 +75,22 @@ static CLIENT_ID MsgTimerThreadId;
BOOL FASTCALL
IntInsertTimerAscendingOrder(PMSG_TIMER_ENTRY NewTimer)
{
PLIST_ENTRY current;
InsertAscendingList(&TimerListHead,
MSG_TIMER_ENTRY,
ListEntry,
NewTimer,
Timeout.QuadPart);
return IsFirstEntry(&TimerListHead, &NewTimer->ListEntry);
current = TimerListHead.Flink;
while (current != &TimerListHead)
{
if (CONTAINING_RECORD(current, MSG_TIMER_ENTRY, ListEntry)->Timeout.QuadPart >=\
NewTimer->Timeout.QuadPart)
{
break;
}
current = current->Flink;
}
InsertTailList(current, &NewTimer->ListEntry);
return TimerListHead.Flink == &NewTimer->ListEntry;
}

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: windc.c,v 1.64 2004/04/05 21:26:30 weiden Exp $
/* $Id: windc.c,v 1.65 2004/04/09 20:03:19 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -47,6 +47,8 @@
#define NDEBUG
#include <debug.h>
#define DCX_USESTYLE 0x10000
/* GLOBALS *******************************************************************/
/* NOTE - I think we should store this per window station (including gdi objects) */
@ -101,6 +103,25 @@ DceGetVisRgn(HWND hWnd, ULONG Flags, HWND hWndChild, ULONG CFlags)
return VisRgn;
}
/*
* NtUserGetWindowDC
*
* The NtUserGetWindowDC function retrieves the device context (DC) for the
* entire window, including title bar, menus, and scroll bars. A window device
* context permits painting anywhere in a window, because the origin of the
* device context is the upper-left corner of the window instead of the client
* area.
*
* Status
* @implemented
*/
DWORD STDCALL
NtUserGetWindowDC(HWND hWnd)
{
return (DWORD)NtUserGetDCEx(hWnd, 0, DCX_USESTYLE | DCX_WINDOW);
}
HDC STDCALL
NtUserGetDC(HWND hWnd)
{
@ -565,7 +586,7 @@ NtUserGetDCEx(HWND hWnd, HANDLE ClipRegion, ULONG Flags)
DceSetDrawable(Window, Dce->hDC, Flags, UpdateClipOrigin);
if (UpdateVisRgn)
// if (UpdateVisRgn)
{
DceUpdateVisRgn(Dce, Window, Flags);
}

Some files were not shown because too many files have changed in this diff Show more