diff --git a/reactos/include/win32k/ntuser.h b/reactos/include/win32k/ntuser.h index c9d1bf3d953..3929d795e57 100644 --- a/reactos/include/win32k/ntuser.h +++ b/reactos/include/win32k/ntuser.h @@ -169,14 +169,15 @@ STDCALL NtUserCallNoParam( DWORD Routine); -#define ONEPARAM_ROUTINE_GETMENU 0x01 -#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02 -#define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03 -#define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04 -#define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05 -#define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06 -#define ONEPARAM_ROUTINE_GETCARETINFO 0x07 -#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08 +#define ONEPARAM_ROUTINE_GETMENU 0x01 +#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02 +#define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03 +#define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04 +#define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05 +#define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06 +#define ONEPARAM_ROUTINE_GETCARETINFO 0x07 +#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08 +#define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09 DWORD STDCALL NtUserCallOneParam( @@ -198,11 +199,11 @@ NtUserCallTwoParam( DWORD Param2, DWORD Routine); -DWORD +BOOL STDCALL NtUserChangeClipboardChain( - DWORD Unknown0, - DWORD Unknown1); + HWND hWndRemove, + HWND hWndNewNext); LONG STDCALL @@ -231,7 +232,7 @@ STDCALL NtUserClipCursor( RECT *lpRect); -DWORD +BOOL STDCALL NtUserCloseClipboard(VOID); @@ -610,20 +611,20 @@ NtUserGetClassName(HWND hWnd, LPWSTR lpClassName, ULONG nMaxCount); -DWORD +HANDLE STDCALL NtUserGetClipboardData( - DWORD Unknown0, + UINT uFormat, DWORD Unknown1); -DWORD +INT STDCALL NtUserGetClipboardFormatName( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2); + UINT format, + PUNICODE_STRING FormatName, + INT cchMaxCount); -DWORD +HWND STDCALL NtUserGetClipboardOwner(VOID); @@ -631,7 +632,7 @@ DWORD STDCALL NtUserGetClipboardSequenceNumber(VOID); -DWORD +HWND STDCALL NtUserGetClipboardViewer(VOID); @@ -818,15 +819,15 @@ NtUserGetObjectInformation( DWORD nLength, PDWORD nLengthNeeded); -DWORD +HWND STDCALL NtUserGetOpenClipboardWindow(VOID); -DWORD +INT STDCALL NtUserGetPriorityClipboardFormat( - DWORD Unknown0, - DWORD Unknown1); + UINT *paFormatPriorityList, + INT cFormats); HWINSTA STDCALL @@ -960,10 +961,10 @@ STDCALL WINBOOL bErase); -DWORD +WINBOOL STDCALL NtUserIsClipboardFormatAvailable( - DWORD Unknown0); + UINT format); BOOL STDCALL @@ -1098,10 +1099,10 @@ NtUserNotifyWinEvent( DWORD Unknown2, DWORD Unknown3); -DWORD +BOOL STDCALL NtUserOpenClipboard( - DWORD Unknown0, + HWND hWnd, DWORD Unknown1); HDESK @@ -1316,17 +1317,17 @@ NtUserSetClassWord( DWORD Unknown1, DWORD Unknown2); -DWORD +HANDLE STDCALL NtUserSetClipboardData( - DWORD Unknown0, - DWORD Unknown1, + UINT uFormat, + HANDLE hMem, DWORD Unknown2); -DWORD +HWND STDCALL NtUserSetClipboardViewer( - DWORD Unknown0); + HWND hWndNewViewer); DWORD STDCALL diff --git a/reactos/lib/user32/windows/clipboard.c b/reactos/lib/user32/windows/clipboard.c index 0987ab5c695..dfb0e8e2021 100644 --- a/reactos/lib/user32/windows/clipboard.c +++ b/reactos/lib/user32/windows/clipboard.c @@ -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: clipboard.c,v 1.6 2003/12/14 12:39:32 navaraf Exp $ +/* $Id: clipboard.c,v 1.7 2003/12/14 13:26:20 weiden Exp $ * * PROJECT: ReactOS user32.dll * FILE: lib/user32/windows/input.c @@ -96,6 +96,7 @@ INT STDCALL GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount) { LPWSTR lpBuffer; + UNICODE_STRING FormatName; INT Length; lpBuffer = HEAP_alloc(cchMaxCount * sizeof(WCHAR)); @@ -104,7 +105,8 @@ GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount) SetLastError(ERROR_OUTOFMEMORY); return 0; } - Length = NtUserGetClipboardFormatName(format, lpBuffer, cchMaxCount); + RtlInitUnicodeString(&FormatName, lpBuffer); + Length = NtUserGetClipboardFormatName(format, &FormatName, cchMaxCount); HEAP_strcpyWtoA(lpszFormatName, lpBuffer, Length); HEAP_free(lpBuffer); @@ -117,7 +119,10 @@ GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount) INT STDCALL GetClipboardFormatNameW(UINT format, LPWSTR lpszFormatName, INT cchMaxCount) { - return NtUserGetClipboardFormatName(format, lpszFormatName, cchMaxCount); + UNICODE_STRING FormatName; + + RtlInitUnicodeString(&FormatName, lpszFormatName); + return NtUserGetClipboardFormatName(format, &FormatName, cchMaxCount); } /* diff --git a/reactos/subsys/win32k/ntuser/clipboard.c b/reactos/subsys/win32k/ntuser/clipboard.c index 191a6d0e26b..4311b3f14f0 100644 --- a/reactos/subsys/win32k/ntuser/clipboard.c +++ b/reactos/subsys/win32k/ntuser/clipboard.c @@ -115,7 +115,7 @@ NtUserGetClipboardData(UINT uFormat, DWORD Unknown1) } INT STDCALL -NtUserGetClipboardFormatName(UINT format, LPWSTR lpszFormatName, +NtUserGetClipboardFormatName(UINT format, PUNICODE_STRING FormatName, INT cchMaxCount) { UNIMPLEMENTED diff --git a/reactos/subsys/win32k/objects/cursoricon.c b/reactos/subsys/win32k/objects/cursoricon.c index 47409f5892a..bbb62fdb3b4 100644 --- a/reactos/subsys/win32k/objects/cursoricon.c +++ b/reactos/subsys/win32k/objects/cursoricon.c @@ -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: cursoricon.c,v 1.38 2003/12/13 22:38:29 weiden Exp $ */ +/* $Id: cursoricon.c,v 1.39 2003/12/14 13:26:20 weiden Exp $ */ #undef WIN32_LEAN_AND_MEAN @@ -120,9 +120,10 @@ IntSetCursor(PWINSTATION_OBJECT WinStaObject, PCURICON_OBJECT NewCursor, BOOL Fo /* FIXME use the desktop's HDC instead of using ScreenDeviceContext */ PDC dc = DC_LockDc(IntGetScreenDC()); if(!dc) - { - return Ret; - } + { + return Ret; + } + SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface); SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface); DevInfo = dc->DevInfo; @@ -151,7 +152,7 @@ IntSetCursor(PWINSTATION_OBJECT WinStaObject, PCURICON_OBJECT NewCursor, BOOL Fo /* TODO: Fixme. Logic is screwed above */ - ASSERT(NewCursor); + ASSERT(NewCursor); MaskBmpObj = BITMAPOBJ_LockBitmap(NewCursor->IconInfo.hbmMask); if(MaskBmpObj) { @@ -214,17 +215,17 @@ IntSetCursor(PWINSTATION_OBJECT WinStaObject, PCURICON_OBJECT NewCursor, BOOL Fo SPS_CHANGE); if(hMask) - { + { EngDeleteSurface(hMask); - } + } if(hColor) - { + { EngDeleteSurface(hColor); - } + } if(XlateObj) - { + { EngDeleteXlate(XlateObj); - } + } if(SurfGDI->PointerStatus == SPS_DECLINE) DbgPrint("SetCursor: DrvSetPointerShape() returned SPS_DECLINE\n");