ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
April 2008
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
21 participants
395 discussions
Start a n
N
ew thread
[winesync] 32834: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Fri Apr 4 07:02:39 2008 New Revision: 32834 URL:
http://svn.reactos.org/svn/reactos?rev=32834&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/advpack/advpack.rbuild trunk/reactos/dll/win32/advpack/files.c trunk/reactos/dll/win32/advpack/reg.c Modified: trunk/reactos/dll/win32/advpack/advpack.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack.…
============================================================================== --- trunk/reactos/dll/win32/advpack/advpack.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/advpack.rbuild [iso-8859-1] Fri Apr 4 07:02:39 2008 @@ -8,6 +8,11 @@ <define name="__WINESRC__" /> <define name="WINVER">0x600</define> <define name="_WIN32_WINNT">0x600</define> + <file>advpack.c</file> + <file>files.c</file> + <file>install.c</file> + <file>reg.c</file> + <file>advpack.spec</file> <library>wine</library> <library>ole32</library> <library>setupapi</library> @@ -15,10 +20,5 @@ <library>advapi32</library> <library>kernel32</library> <library>ntdll</library> - <file>advpack.c</file> - <file>files.c</file> - <file>install.c</file> - <file>reg.c</file> - <file>advpack.spec</file> </module> </group> Modified: trunk/reactos/dll/win32/advpack/files.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/files.c?…
============================================================================== --- trunk/reactos/dll/win32/advpack/files.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/files.c [iso-8859-1] Fri Apr 4 07:02:39 2008 @@ -514,7 +514,7 @@ return res; } -/* The following defintions were copied from dlls/cabinet/cabinet.h */ +/* The following definitions were copied from dlls/cabinet/cabinet.h */ /* SESSION Operation */ #define EXTRACT_FILLFILELIST 0x00000001 @@ -564,9 +564,7 @@ dwLen = last - first + 3; /* room for double-null termination */ szConvertedList = HeapAlloc(GetProcessHeap(), 0, dwLen); lstrcpynA(szConvertedList, first, dwLen - 1); - szConvertedList[dwLen - 1] = '\0'; - szConvertedList[dwLen] = '\0'; /* empty list */ if (!lstrlenA(szConvertedList)) Modified: trunk/reactos/dll/win32/advpack/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/reg.c?re…
============================================================================== --- trunk/reactos/dll/win32/advpack/reg.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/reg.c [iso-8859-1] Fri Apr 4 07:02:39 2008 @@ -210,7 +210,7 @@ * substitution table, and executes the INF. * * PARAMS - * hm [I] Module that contains the REGINST resouce. + * hm [I] Module that contains the REGINST resource. * pszSection [I] The INF section to execute. * pstTable [I] Table of string substitutions. *
16 years, 8 months
1
0
0
0
[hpoussin] 32833: Add svn:eol-style=native property
by hpoussin@svn.reactos.org
Author: hpoussin Date: Fri Apr 4 00:49:50 2008 New Revision: 32833 URL:
http://svn.reactos.org/svn/reactos?rev=32833&view=rev
Log: Add svn:eol-style=native property Modified: trunk/reactos/lib/rtl/powerpc/debug.c (contents, props changed) Modified: trunk/reactos/lib/rtl/powerpc/debug.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/powerpc/debug.c?re…
============================================================================== --- trunk/reactos/lib/rtl/powerpc/debug.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/powerpc/debug.c [iso-8859-1] Fri Apr 4 00:49:50 2008 @@ -1,42 +1,42 @@ -#include <ntddk.h> -#include <winddk.h> - -NTKERNELAPI -VOID -DbgBreakPoint() { __asm__("ti 31,0,0"); } - -NTKERNELAPI -VOID -DbgBreakPointWithStatus(ULONG Status) { __asm__("ti 31,0,0"); } - -NTSTATUS -NTAPI -DebugService -(ULONG Service, const void *Buffer, ULONG Length, PVOID Arg1, PVOID Arg2) -{ - NTSTATUS Result; - __asm__("mr 0,%1\n\t" - "mr 3,%2\n\t" - "mr 4,%3\n\t" - "mr 5,%4\n\t" - "mr 6,%5\n\t" - "mr 7,%6\n\t" - "sc\n\t" - "mr %0,3\n\t" : - "=r" (Result) : - "r" (0x10000), - "r" (Service), - "r" (Buffer), - "r" (Length), - "r" (Arg1), - "r" (Arg2) ); - return Result; -} - -NTSTATUS -NTAPI -DebugService2 -(PVOID Arg1, PVOID Arg2, ULONG Service) -{ - return STATUS_SUCCESS; -} +#include <ntddk.h> +#include <winddk.h> + +NTKERNELAPI +VOID +DbgBreakPoint() { __asm__("ti 31,0,0"); } + +NTKERNELAPI +VOID +DbgBreakPointWithStatus(ULONG Status) { __asm__("ti 31,0,0"); } + +NTSTATUS +NTAPI +DebugService +(ULONG Service, const void *Buffer, ULONG Length, PVOID Arg1, PVOID Arg2) +{ + NTSTATUS Result; + __asm__("mr 0,%1\n\t" + "mr 3,%2\n\t" + "mr 4,%3\n\t" + "mr 5,%4\n\t" + "mr 6,%5\n\t" + "mr 7,%6\n\t" + "sc\n\t" + "mr %0,3\n\t" : + "=r" (Result) : + "r" (0x10000), + "r" (Service), + "r" (Buffer), + "r" (Length), + "r" (Arg1), + "r" (Arg2) ); + return Result; +} + +NTSTATUS +NTAPI +DebugService2 +(PVOID Arg1, PVOID Arg2, ULONG Service) +{ + return STATUS_SUCCESS; +} Propchange: trunk/reactos/lib/rtl/powerpc/debug.c ------------------------------------------------------------------------------ svn:eol-style = native
16 years, 8 months
1
0
0
0
[tkreuzer] 32832: DC_SetOwnership: use GDIOBJ_SetOwnership instead of GDIOB_CopyOwnership, which is faster. Also rename DC to pDC, a variable shouldn't have the same name as a type.
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Thu Apr 3 15:27:50 2008 New Revision: 32832 URL:
http://svn.reactos.org/svn/reactos?rev=32832&view=rev
Log: DC_SetOwnership: use GDIOBJ_SetOwnership instead of GDIOB_CopyOwnership, which is faster. Also rename DC to pDC, a variable shouldn't have the same name as a type. Modified: trunk/reactos/subsystems/win32/win32k/objects/dc.c Modified: trunk/reactos/subsystems/win32/win32k/objects/dc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dc.c [iso-8859-1] Thu Apr 3 15:27:50 2008 @@ -2522,25 +2522,25 @@ VOID FASTCALL DC_SetOwnership(HDC hDC, PEPROCESS Owner) { - PDC DC; - - GDIOBJ_SetOwnership(hDC, Owner); - DC = DC_LockDc(hDC); - if (NULL != DC) - { - if (NULL != DC->w.hClipRgn) + PDC pDC; + + GDIOBJ_SetOwnership(hDC, Owner); + pDC = DC_LockDc(hDC); + if (pDC) + { + if (pDC->w.hClipRgn) { - GDIOBJ_CopyOwnership(hDC, DC->w.hClipRgn); + GDIOBJ_SetOwnership(pDC->w.hClipRgn, Owner); } - if (NULL != DC->w.hVisRgn) + if (pDC->w.hVisRgn) { - GDIOBJ_CopyOwnership(hDC, DC->w.hVisRgn); + GDIOBJ_SetOwnership(pDC->w.hVisRgn, Owner); } - if (NULL != DC->w.hGCClipRgn) + if (pDC->w.hGCClipRgn) { - GDIOBJ_CopyOwnership(hDC, DC->w.hGCClipRgn); + GDIOBJ_SetOwnership(pDC->w.hGCClipRgn, Owner); } - DC_UnlockDc(DC); + DC_UnlockDc(pDC); } }
16 years, 8 months
1
0
0
0
[hpoussin] 32831: Replace E_FAIL by a better error code
by hpoussin@svn.reactos.org
Author: hpoussin Date: Thu Apr 3 14:07:11 2008 New Revision: 32831 URL:
http://svn.reactos.org/svn/reactos?rev=32831&view=rev
Log: Replace E_FAIL by a better error code Modified: trunk/reactos/lib/recyclebin/recyclebin_v5.c Modified: trunk/reactos/lib/recyclebin/recyclebin_v5.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/recyclebin/recyclebin_…
============================================================================== --- trunk/reactos/lib/recyclebin/recyclebin_v5.c [iso-8859-1] (original) +++ trunk/reactos/lib/recyclebin/recyclebin_v5.c [iso-8859-1] Thu Apr 3 14:07:11 2008 @@ -199,7 +199,7 @@ TRACE("(%p, %s)\n", This, debugstr_w(szFileName)); if (s->EnumeratorCount != 0) - return E_FAIL; + return HRESULT_FROM_WIN32(ERROR_SHARING_VIOLATION); /* Get full file name */ while (TRUE) @@ -414,7 +414,7 @@ TRACE("(%p, %s, %p)\n", This, debugstr_w(pDeletedFileName), pDeletedFile); if (s->EnumeratorCount != 0) - return E_FAIL; + return HRESULT_FROM_WIN32(ERROR_SHARING_VIOLATION); pHeader = MapViewOfFile(s->hInfoMapped, FILE_MAP_WRITE, 0, 0, 0); if (!pHeader) @@ -476,7 +476,7 @@ TRACE("(%p, %s, %p)\n", This, debugstr_w(pDeletedFileName), pDeletedFile); if (s->EnumeratorCount != 0) - return E_FAIL; + return HRESULT_FROM_WIN32(ERROR_SHARING_VIOLATION); pHeader = MapViewOfFile(s->hInfoMapped, FILE_MAP_WRITE, 0, 0, 0); if (!pHeader)
16 years, 8 months
1
0
0
0
[jimtabor] 32830: Update POLYPATBLT.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu Apr 3 12:51:41 2008 New Revision: 32830 URL:
http://svn.reactos.org/svn/reactos?rev=32830&view=rev
Log: Update POLYPATBLT. Modified: trunk/reactos/include/psdk/ntgdi.h Modified: trunk/reactos/include/psdk/ntgdi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ntgdi.h?rev=3…
============================================================================== --- trunk/reactos/include/psdk/ntgdi.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ntgdi.h [iso-8859-1] Thu Apr 3 12:51:41 2008 @@ -61,7 +61,14 @@ DWORD dwFlags; } LOGCOLORSPACEEXW, *PLOGCOLORSPACEEXW; -typedef struct _POLYPATBLT POLYPATBLT, *PPOLYPATBLT; +typedef struct _POLYPATBLT +{ + INT nXLeft; + INT nYLeft; + INT nWidth; + INT nHeight; + HBRUSH hBrush; +} POLYPATBLT, *PPOLYPATBLT; /* NtGdiAddRemoteMMInstanceToDC */ typedef struct tagDOWNLOADDESIGNVECTOR
16 years, 8 months
1
0
0
0
[janderwald] 32829: - restore cursor on exit
by janderwald@svn.reactos.org
Author: janderwald Date: Thu Apr 3 08:34:02 2008 New Revision: 32829 URL:
http://svn.reactos.org/svn/reactos?rev=32829&view=rev
Log: - restore cursor on exit Modified: trunk/rosapps/applications/screensavers/mazescr/scrnsave.c Modified: trunk/rosapps/applications/screensavers/mazescr/scrnsave.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/…
============================================================================== --- trunk/rosapps/applications/screensavers/mazescr/scrnsave.c [iso-8859-1] (original) +++ trunk/rosapps/applications/screensavers/mazescr/scrnsave.c [iso-8859-1] Thu Apr 3 08:34:02 2008 @@ -49,6 +49,8 @@ switch (msg) { case WM_DESTROY: + if (fullscreen) + ShowCursor(TRUE); PostQuitMessage(0); break;
16 years, 8 months
1
0
0
0
[dchapyshev] 32828: - Implemented: SetDefaultCommConfigW, SetDefaultCommConfigA, GetDefaultCommConfigW, GetDefaultCommConfigA - Fixed: GetCommState
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Thu Apr 3 05:50:57 2008 New Revision: 32828 URL:
http://svn.reactos.org/svn/reactos?rev=32828&view=rev
Log: - Implemented: SetDefaultCommConfigW, SetDefaultCommConfigA, GetDefaultCommConfigW, GetDefaultCommConfigA - Fixed: GetCommState Modified: trunk/reactos/dll/win32/kernel32/misc/comm.c Modified: trunk/reactos/dll/win32/kernel32/misc/comm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/co…
============================================================================== --- trunk/reactos/dll/win32/kernel32/misc/comm.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/misc/comm.c [iso-8859-1] Thu Apr 3 05:50:57 2008 @@ -44,6 +44,10 @@ #include <debug.h> /* BUILDCOMMDCB & BUILDCOMMDCBANDTIMEOUTS */ + +/* STRINGS */ +static const WCHAR lpszSerialUI[] = { + 's','e','r','i','a','l','u','i','.','d','l','l',0 }; /* TYPES */ @@ -1069,33 +1073,32 @@ DPRINT("GetCommState(%d, %p)\n", hFile, lpDCB); if (lpDCB == NULL) { + SetLastError(ERROR_INVALID_PARAMETER); DPRINT("ERROR: GetCommState() - NULL DCB pointer\n"); return FALSE; } - lpDCB->DCBlength = sizeof(DCB); - - /* FIXME: need to fill following fields (1 bit): - * fBinary: binary mode, no EOF check - * fParity: enable parity checking - * fOutX : XON/XOFF out flow control - * fInX : XON/XOFF in flow control - */ - - result = DeviceIoControl(hFile, IOCTL_SERIAL_GET_BAUD_RATE, - NULL, 0, &BaudRate, sizeof(BaudRate),&dwBytesReturned, NULL); - if (!NT_SUCCESS(result)) { - DPRINT("ERROR: GetCommState() - DeviceIoControl(IOCTL_SERIAL_GET_BAUD_RATE) Failed.\n"); - return FALSE; - } + if (!DeviceIoControl(hFile, IOCTL_SERIAL_GET_BAUD_RATE, + NULL, 0, &BaudRate, sizeof(BaudRate), NULL, NULL) || + !DeviceIoControl(hFile, IOCTL_SERIAL_GET_LINE_CONTROL, + NULL, 0, &LineControl, sizeof(LineControl), NULL, NULL) || + !DeviceIoControl(hFile, IOCTL_SERIAL_GET_HANDFLOW, + NULL, 0, &HandFlow, sizeof(HandFlow), NULL, NULL) || + !DeviceIoControl(hFile, IOCTL_SERIAL_GET_CHARS, + NULL, 0, &SpecialChars, sizeof(SpecialChars), NULL, NULL)) + return FALSE; + + memset(lpDCB, 0, sizeof(*lpDCB)); + lpDCB->DCBlength = sizeof(*lpDCB); + + lpDCB->fBinary = 1; + lpDCB->fParity = 0; lpDCB->BaudRate = BaudRate.BaudRate; - result = DeviceIoControl(hFile, IOCTL_SERIAL_GET_HANDFLOW, - NULL, 0, &HandFlow, sizeof(HandFlow), &dwBytesReturned, NULL); - if (!NT_SUCCESS(result)) { - DPRINT("ERROR: GetCommState() - DeviceIoControl(IOCTL_SERIAL_GET_HANDFLOW) Failed.\n"); - return FALSE; - } + lpDCB->StopBits = LineControl.StopBits; + lpDCB->Parity = LineControl.Parity; + lpDCB->ByteSize = LineControl.WordLength; + if (HandFlow.ControlHandShake & SERIAL_CTS_HANDSHAKE) { lpDCB->fOutxCtsFlow = 1; } @@ -1182,26 +1185,50 @@ /* - * @unimplemented + * @implemented */ BOOL STDCALL GetDefaultCommConfigW(LPCWSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; -} - - -/* - * @unimplemented + FARPROC pGetDefaultCommConfig; + HMODULE hConfigModule; + DWORD res = ERROR_INVALID_PARAMETER; + + DPRINT("(%s, %p, %p) *lpdwSize: %u\n", lpszName, lpCC, lpdwSize, lpdwSize ? *lpdwSize : 0 ); + hConfigModule = LoadLibraryW(lpszSerialUI); + + if (hConfigModule) { + pGetDefaultCommConfig = GetProcAddress(hConfigModule, "drvGetDefaultCommConfigW"); + if (pGetDefaultCommConfig) { + res = pGetDefaultCommConfig(lpszName, lpCC, lpdwSize); + } + FreeLibrary(hConfigModule); + } + + if (res) SetLastError(res); + return (res == ERROR_SUCCESS); +} + + +/* + * @implemented */ BOOL STDCALL GetDefaultCommConfigA(LPCSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + BOOL ret = FALSE; + UNICODE_STRING lpszNameW; + + DPRINT("(%s, %p, %p) *lpdwSize: %u\n", lpszName, lpCC, lpdwSize, lpdwSize ? *lpdwSize : 0 ); + if(lpszName) RtlCreateUnicodeStringFromAsciiz(&lpszNameW,lpszName); + else lpszNameW.Buffer = NULL; + + ret = GetDefaultCommConfigW(lpszNameW.Buffer,lpCC,lpdwSize); + + RtlFreeUnicodeString(&lpszNameW); + return ret; } @@ -1424,26 +1451,54 @@ /* - * @unimplemented + * @implemented */ BOOL STDCALL SetDefaultCommConfigA(LPCSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; -} - - -/* - * @unimplemented + BOOL r; + LPWSTR lpDeviceW = NULL; + DWORD len; + + DPRINT("(%s, %p, %u)\n", lpszName, lpCC, dwSize); + + if (lpszName) + { + len = MultiByteToWideChar( CP_ACP, 0, lpszName, -1, NULL, 0 ); + lpDeviceW = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, lpszName, -1, lpDeviceW, len ); + } + r = SetDefaultCommConfigW(lpDeviceW,lpCC,dwSize); + HeapFree( GetProcessHeap(), 0, lpDeviceW ); + return r; +} + + +/* + * @implemented */ BOOL STDCALL SetDefaultCommConfigW(LPCWSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + FARPROC pGetDefaultCommConfig; + HMODULE hConfigModule; + DWORD res = ERROR_INVALID_PARAMETER; + + DPRINT("(%s, %p, %p) *dwSize: %u\n", lpszName, lpCC, dwSize, dwSize ? dwSize : 0 ); + hConfigModule = LoadLibraryW(lpszSerialUI); + + if (hConfigModule) { + pGetDefaultCommConfig = GetProcAddress(hConfigModule, "drvGetDefaultCommConfigW"); + if (pGetDefaultCommConfig) { + res = pGetDefaultCommConfig(lpszName, lpCC, &dwSize); + } + FreeLibrary(hConfigModule); + } + + if (res) SetLastError(res); + return (res == ERROR_SUCCESS); }
16 years, 8 months
1
0
0
0
[dchapyshev] 32827: Implemented EnumLanguageGroupLocalesA, EnumLanguageGroupLocalesW, EnumUILanguagesW, EnumUILanguagesA, GetUserGeoID, SetUserGeoID (from Wine)
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Thu Apr 3 04:49:14 2008 New Revision: 32827 URL:
http://svn.reactos.org/svn/reactos?rev=32827&view=rev
Log: Implemented EnumLanguageGroupLocalesA, EnumLanguageGroupLocalesW, EnumUILanguagesW, EnumUILanguagesA, GetUserGeoID, SetUserGeoID (from Wine) Modified: trunk/reactos/dll/win32/kernel32/misc/lang.c Modified: trunk/reactos/dll/win32/kernel32/misc/lang.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/la…
============================================================================== --- trunk/reactos/dll/win32/kernel32/misc/lang.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/misc/lang.c [iso-8859-1] Thu Apr 3 04:49:14 2008 @@ -31,6 +31,23 @@ //static RTL_CRITICAL_SECTION LocalesListLock; +typedef struct +{ + union + { + UILANGUAGE_ENUMPROCA procA; + UILANGUAGE_ENUMPROCW procW; + } u; + DWORD flags; + LONG_PTR param; +} ENUM_UILANG_CALLBACK; + +static const WCHAR szLocaleKeyName[] = { + 'M','a','c','h','i','n','e','\\','S','y','s','t','e','m','\\', + 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\', + 'C','o','n','t','r','o','l','\\','N','l','s','\\','L','o','c','a','l','e',0 +}; + /****************************************************************************** * @implemented * RIPPED FROM WINE's dlls\kernel\locale.c rev 1.42 @@ -263,8 +280,151 @@ } -/* - * @unimplemented +static BOOL NLS_RegEnumValue(HANDLE hKey, UINT ulIndex, + LPWSTR szValueName, ULONG valueNameSize, + LPWSTR szValueData, ULONG valueDataSize) +{ + BYTE buffer[80]; + KEY_VALUE_FULL_INFORMATION *info = (KEY_VALUE_FULL_INFORMATION *)buffer; + DWORD dwLen; + + if (NtEnumerateValueKey( hKey, ulIndex, KeyValueFullInformation, + buffer, sizeof(buffer), &dwLen ) != STATUS_SUCCESS || + info->NameLength > valueNameSize || + info->DataLength > valueDataSize) + { + return FALSE; + } + + DPRINT("info->Name %s info->DataLength %d\n", info->Name, info->DataLength); + + memcpy( szValueName, info->Name, info->NameLength); + szValueName[info->NameLength / sizeof(WCHAR)] = '\0'; + memcpy( szValueData, buffer + info->DataOffset, info->DataLength ); + szValueData[info->DataLength / sizeof(WCHAR)] = '\0'; + + DPRINT("returning %s %s\n", szValueName, szValueData); + return TRUE; +} + + +static HANDLE NLS_RegOpenKey(HANDLE hRootKey, LPCWSTR szKeyName) +{ + UNICODE_STRING keyName; + OBJECT_ATTRIBUTES attr; + HANDLE hkey; + + RtlInitUnicodeString( &keyName, szKeyName ); + InitializeObjectAttributes(&attr, &keyName, 0, hRootKey, NULL); + + if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) != STATUS_SUCCESS) + hkey = 0; + + return hkey; +} + + +/* Callback function ptrs for EnumLanguageGrouplocalesA/W */ +typedef struct +{ + LANGGROUPLOCALE_ENUMPROCA procA; + LANGGROUPLOCALE_ENUMPROCW procW; + DWORD dwFlags; + LGRPID lgrpid; + LONG_PTR lParam; +} ENUMLANGUAGEGROUPLOCALE_CALLBACKS; + +/* Internal implementation of EnumLanguageGrouplocalesA/W */ +static BOOL NLS_EnumLanguageGroupLocales(ENUMLANGUAGEGROUPLOCALE_CALLBACKS *lpProcs) +{ + static const WCHAR szAlternateSortsKeyName[] = { + 'A','l','t','e','r','n','a','t','e',' ','S','o','r','t','s','\0' + }; + WCHAR szNumber[10], szValue[4]; + HANDLE hKey; + BOOL bContinue = TRUE, bAlternate = FALSE; + LGRPID lgrpid; + ULONG ulIndex = 1; /* Ignore default entry of 1st key */ + + if (!lpProcs || !lpProcs->lgrpid || lpProcs->lgrpid > LGRPID_ARMENIAN) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + + if (lpProcs->dwFlags) + { + SetLastError(ERROR_INVALID_FLAGS); + return FALSE; + } + + hKey = NLS_RegOpenKey( 0, szLocaleKeyName ); + + if (!hKey) + DPRINT("NLS registry key not found. Please apply the default registry file 'wine.inf'\n"); + + while (bContinue) + { + if (NLS_RegEnumValue( hKey, ulIndex, szNumber, sizeof(szNumber), + szValue, sizeof(szValue) )) + { + lgrpid = wcstoul( szValue, NULL, 16 ); + + DPRINT("lcid %s, grpid %d (%smatched)\n", szNumber, + lgrpid, lgrpid == lpProcs->lgrpid ? "" : "not "); + + if (lgrpid == lpProcs->lgrpid) + { + LCID lcid; + + lcid = wcstoul( szNumber, NULL, 16 ); + + /* FIXME: native returns extra text for a few (17/150) locales, e.g: + * '00000437 ;Georgian' + * At present we only pass the LCID string. + */ + + if (lpProcs->procW) + bContinue = lpProcs->procW( lgrpid, lcid, szNumber, lpProcs->lParam ); + else + { + char szNumberA[sizeof(szNumber)/sizeof(WCHAR)]; + + WideCharToMultiByte(CP_ACP, 0, szNumber, -1, szNumberA, sizeof(szNumberA), 0, 0); + + bContinue = lpProcs->procA( lgrpid, lcid, szNumberA, lpProcs->lParam ); + } + } + + ulIndex++; + } + else + { + /* Finished enumerating this key */ + if (!bAlternate) + { + /* Enumerate alternate sorts also */ + hKey = NLS_RegOpenKey( hKey, szAlternateSortsKeyName ); + bAlternate = TRUE; + ulIndex = 0; + } + else + bContinue = FALSE; /* Finished both keys */ + } + + if (!bContinue) + break; + } + + if (hKey) + NtClose( hKey ); + + return TRUE; +} + + +/* + * @implemented */ BOOL STDCALL @@ -274,13 +434,22 @@ DWORD dwFlags, LONG_PTR lParam) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - - -/* - * @unimplemented + ENUMLANGUAGEGROUPLOCALE_CALLBACKS callbacks; + + DPRINT("(%p,0x%08X,0x%08X,0x%08lX)\n", lpLangGroupLocaleEnumProc, LanguageGroup, dwFlags, lParam); + + callbacks.procA = lpLangGroupLocaleEnumProc; + callbacks.procW = NULL; + callbacks.dwFlags = dwFlags; + callbacks.lgrpid = LanguageGroup; + callbacks.lParam = lParam; + + return NLS_EnumLanguageGroupLocales( lpLangGroupLocaleEnumProc ? &callbacks : NULL ); +} + + +/* + * @implemented */ BOOL STDCALL @@ -290,8 +459,17 @@ DWORD dwFlags, LONG_PTR lParam) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + ENUMLANGUAGEGROUPLOCALE_CALLBACKS callbacks; + + DPRINT("(%p,0x%08X,0x%08X,0x%08lX)\n", lpLangGroupLocaleEnumProc, LanguageGroup, dwFlags, lParam); + + callbacks.procA = NULL; + callbacks.procW = lpLangGroupLocaleEnumProc; + callbacks.dwFlags = dwFlags; + callbacks.lgrpid = LanguageGroup; + callbacks.lParam = lParam; + + return NLS_EnumLanguageGroupLocales( lpLangGroupLocaleEnumProc ? &callbacks : NULL ); } @@ -503,8 +681,19 @@ } -/* - * @unimplemented +static BOOL CALLBACK enum_uilang_proc_a( HMODULE hModule, LPCSTR type, + LPCSTR name, WORD LangID, LONG_PTR lParam ) +{ + ENUM_UILANG_CALLBACK *enum_uilang = (ENUM_UILANG_CALLBACK *)lParam; + char buf[20]; + + sprintf(buf, "%08x", (UINT)LangID); + return enum_uilang->u.procA( buf, enum_uilang->param ); +} + + +/* + * @implemented */ BOOL STDCALL @@ -513,13 +702,42 @@ DWORD dwFlags, LONG_PTR lParam) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - - -/* - * @unimplemented + ENUM_UILANG_CALLBACK enum_uilang; + + DPRINT("%p, %x, %lx\n", lpUILanguageEnumProc, dwFlags, lParam); + + if(!lpUILanguageEnumProc) { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + if(dwFlags) { + SetLastError(ERROR_INVALID_FLAGS); + return FALSE; + } + + enum_uilang.u.procA = lpUILanguageEnumProc; + enum_uilang.flags = dwFlags; + enum_uilang.param = lParam; + + EnumResourceLanguagesA( hCurrentModule, (LPCSTR)RT_STRING, + (LPCSTR)LOCALE_ILANGUAGE, enum_uilang_proc_a, + (LONG_PTR)&enum_uilang); + return TRUE; +} + +static BOOL CALLBACK enum_uilang_proc_w( HMODULE hModule, LPCWSTR type, + LPCWSTR name, WORD LangID, LONG_PTR lParam ) +{ + static const WCHAR formatW[] = {'%','0','8','x',0}; + ENUM_UILANG_CALLBACK *enum_uilang = (ENUM_UILANG_CALLBACK *)lParam; + WCHAR buf[20]; + + swprintf( buf, formatW, (UINT)LangID ); + return enum_uilang->u.procW( buf, enum_uilang->param ); +} + +/* + * @implemented */ BOOL STDCALL @@ -528,8 +746,28 @@ DWORD dwFlags, LONG_PTR lParam) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + ENUM_UILANG_CALLBACK enum_uilang; + + DPRINT("%p, %x, %lx\n", lpUILanguageEnumProc, dwFlags, lParam); + + + if(!lpUILanguageEnumProc) { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + if(dwFlags) { + SetLastError(ERROR_INVALID_FLAGS); + return FALSE; + } + + enum_uilang.u.procW = lpUILanguageEnumProc; + enum_uilang.flags = dwFlags; + enum_uilang.param = lParam; + + EnumResourceLanguagesW( hCurrentModule, (LPCWSTR)RT_STRING, + (LPCWSTR)LOCALE_ILANGUAGE, enum_uilang_proc_w, + (LONG_PTR)&enum_uilang); + return TRUE; } /* @@ -1285,6 +1523,35 @@ } +/*********************************************************************** + * create_registry_key + * + * Create the Control Panel\\International registry key. + */ +static inline HANDLE create_registry_key(void) +{ + static const WCHAR intlW[] = {'C','o','n','t','r','o','l',' ','P','a','n','e','l','\\', + 'I','n','t','e','r','n','a','t','i','o','n','a','l',0}; + OBJECT_ATTRIBUTES attr; + UNICODE_STRING nameW; + HANDLE hkey; + + if (RtlOpenCurrentUser( KEY_ALL_ACCESS, &hkey ) != STATUS_SUCCESS) return 0; + + attr.Length = sizeof(attr); + attr.RootDirectory = hkey; + attr.ObjectName = &nameW; + attr.Attributes = 0; + attr.SecurityDescriptor = NULL; + attr.SecurityQualityOfService = NULL; + RtlInitUnicodeString( &nameW, intlW ); + + if (NtCreateKey( &hkey, KEY_ALL_ACCESS, &attr, 0, NULL, 0, NULL ) != STATUS_SUCCESS) hkey = 0; + NtClose( attr.RootDirectory ); + return hkey; +} + + /* * @unimplemented */ @@ -1293,8 +1560,36 @@ GetUserGeoID( GEOCLASS GeoClass) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + GEOID ret = GEOID_NOT_AVAILABLE; + static const WCHAR geoW[] = {'G','e','o',0}; + static const WCHAR nationW[] = {'N','a','t','i','o','n',0}; + WCHAR bufferW[40], *end; + DWORD count; + HANDLE hkey, hSubkey = 0; + UNICODE_STRING keyW; + const KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)bufferW; + RtlInitUnicodeString( &keyW, nationW ); + count = sizeof(bufferW); + + if(!(hkey = create_registry_key())) return ret; + + switch( GeoClass ){ + case GEOCLASS_NATION: + if ((hSubkey = NLS_RegOpenKey(hkey, geoW))) + { + if((NtQueryValueKey(hSubkey, &keyW, KeyValuePartialInformation, + (LPBYTE)bufferW, count, &count) == STATUS_SUCCESS ) && info->DataLength) + ret = wcstol((LPCWSTR)info->Data, &end, 10); + } + break; + case GEOCLASS_REGION: + DPRINT("GEOCLASS_REGION not handled yet\n"); + break; + } + + NtClose(hkey); + if (hSubkey) NtClose(hSubkey); + return ret; } @@ -1806,15 +2101,44 @@ /* - * @unimplemented + * @implemented */ BOOL STDCALL SetUserGeoID( GEOID GeoId) { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + static const WCHAR geoW[] = {'G','e','o',0}; + static const WCHAR nationW[] = {'N','a','t','i','o','n',0}; + static const WCHAR formatW[] = {'%','i',0}; + UNICODE_STRING nameW,keyW; + WCHAR bufferW[10]; + OBJECT_ATTRIBUTES attr; + HANDLE hkey; + + if(!(hkey = create_registry_key())) return FALSE; + + attr.Length = sizeof(attr); + attr.RootDirectory = hkey; + attr.ObjectName = &nameW; + attr.Attributes = 0; + attr.SecurityDescriptor = NULL; + attr.SecurityQualityOfService = NULL; + RtlInitUnicodeString( &nameW, geoW ); + RtlInitUnicodeString( &keyW, nationW ); + + if (NtCreateKey( &hkey, KEY_ALL_ACCESS, &attr, 0, NULL, 0, NULL ) != STATUS_SUCCESS) + + { + NtClose(attr.RootDirectory); + return FALSE; + } + + swprintf(bufferW, formatW, GeoId); + NtSetValueKey(hkey, &keyW, 0, REG_SZ, bufferW, (wcslen(bufferW) + 1) * sizeof(WCHAR)); + NtClose(attr.RootDirectory); + NtClose(hkey); + return TRUE; }
16 years, 8 months
1
0
0
0
[dchapyshev] 32826: - Update header
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Thu Apr 3 04:47:45 2008 New Revision: 32826 URL:
http://svn.reactos.org/svn/reactos?rev=32826&view=rev
Log: - Update header Modified: trunk/reactos/include/psdk/winnls.h Modified: trunk/reactos/include/psdk/winnls.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnls.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/winnls.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winnls.h [iso-8859-1] Thu Apr 3 04:47:45 2008 @@ -8,6 +8,7 @@ extern "C" { #endif +#define GEOID_NOT_AVAILABLE (-1) #define MAX_LEADBYTES 12 #define MAX_DEFAULTCHAR 2 #define LOCALE_NOUSEROVERRIDE 0x80000000
16 years, 8 months
1
0
0
0
[tkreuzer] 32825: Patch by Stefan Ginsberg (stefan__100__ AT hotmail DOT com): - remove NtUserEnumClipboardFormats, use ->ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMAT insetad - remove NtUserRegisterClipboardFormat, use NtUserRegisterWIndowsMessage instead - remove NtUserKillSystemTimer, use HWNDPARAM_ROUTINE_KILLSYSTEMTIMER instead - remove NtUserInsertMenuItem, use NtUserThunkedMenuItemInfo instead - remove NtUserGetCapture, use THREADSTATE_CAPTUREWINDOW instead - remove NtUserGetActiveWindow, use THRE
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Wed Apr 2 21:13:34 2008 New Revision: 32825 URL:
http://svn.reactos.org/svn/reactos?rev=32825&view=rev
Log: Patch by Stefan Ginsberg (stefan__100__ AT hotmail DOT com): - remove NtUserEnumClipboardFormats, use ->ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMAT insetad - remove NtUserRegisterClipboardFormat, use NtUserRegisterWIndowsMessage instead - remove NtUserKillSystemTimer, use HWNDPARAM_ROUTINE_KILLSYSTEMTIMER instead - remove NtUserInsertMenuItem, use NtUserThunkedMenuItemInfo instead - remove NtUserGetCapture, use THREADSTATE_CAPTUREWINDOW instead - remove NtUserGetActiveWindow, use THREADSTATE_ACTIVEWINDOW instead - remove NtUserGetQueueStatus, use ONEPARAM_ROUTIME_GETQUEUESTATUS instead - remove NtUserGetLastActivePopup, wasn't implemented - remove NtUserRealizePalette from ntuser.h, it's not implemented - remove duplicate NtUserGetLastInputInfo from ntuser.h - remove PrivateCsrssRergisterPrimitive from user32, it was unused and unimplemented - remove NtUserDereferenceWndprocHandle, it was unused - move WNDPROC_INFO structure from ntuser.h to win32k/include/class.h, as it's not used in usermode anymore tested with AbiWord and FF on VMWare Modified: trunk/reactos/dll/win32/user32/misc/timer.c trunk/reactos/dll/win32/user32/user32.def trunk/reactos/dll/win32/user32/windows/clipboard.c trunk/reactos/dll/win32/user32/windows/input.c trunk/reactos/dll/win32/user32/windows/menu.c trunk/reactos/dll/win32/user32/windows/message.c trunk/reactos/dll/win32/user32/windows/window.c trunk/reactos/dll/win32/user32/windows/winpos.c trunk/reactos/include/reactos/win32k/ntuser.h trunk/reactos/subsystems/win32/win32k/include/class.h trunk/reactos/subsystems/win32/win32k/include/clipboard.h trunk/reactos/subsystems/win32/win32k/include/focus.h trunk/reactos/subsystems/win32/win32k/include/menu.h trunk/reactos/subsystems/win32/win32k/include/misc.h trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c trunk/reactos/subsystems/win32/win32k/ntuser/clipboard.c trunk/reactos/subsystems/win32/win32k/ntuser/focus.c trunk/reactos/subsystems/win32/win32k/ntuser/menu.c trunk/reactos/subsystems/win32/win32k/ntuser/message.c trunk/reactos/subsystems/win32/win32k/ntuser/misc.c trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c trunk/reactos/subsystems/win32/win32k/ntuser/timer.c trunk/reactos/subsystems/win32/win32k/ntuser/window.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db Modified: trunk/reactos/dll/win32/user32/misc/timer.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/misc/time…
============================================================================== --- trunk/reactos/dll/win32/user32/misc/timer.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/misc/timer.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -43,7 +43,7 @@ HWND hWnd, UINT_PTR IDEvent) { - return NtUserKillSystemTimer(hWnd, IDEvent); + return NtUserCallHwndParam(hWnd, IDEvent, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER); } @@ -89,3 +89,6 @@ return NtUserSetTimer(hWnd, IDEvent, Period, TimerFunc); } + + + Modified: trunk/reactos/dll/win32/user32/user32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/user32.de…
============================================================================== --- trunk/reactos/dll/win32/user32/user32.def [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/user32.def [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -521,7 +521,6 @@ PostThreadMessageA@16 PostThreadMessageW@16 PrintWindow@12 -PrivateCsrssRegisterPrimitive@0 PrivateCsrssManualGuiCheck@4 PrivateCsrssInitialized@0 PrivateExtractIconExA@20 Modified: trunk/reactos/dll/win32/user32/windows/clipboard.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/c…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/clipboard.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/clipboard.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -69,7 +69,7 @@ UINT STDCALL EnumClipboardFormats(UINT format) { - UINT ret = NtUserEnumClipboardFormats(format); + UINT ret = NtUserCallOneParam(format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS); return ret; } @@ -248,7 +248,7 @@ ret = RtlCreateUnicodeStringFromAsciiz(&usFormat, lpszFormat); if (ret) { - ret = NtUserRegisterClipboardFormat(&usFormat); //(LPCWSTR) + ret = NtUserRegisterWindowMessage(&usFormat); //(LPCWSTR) RtlFreeUnicodeString(&usFormat); } @@ -278,7 +278,7 @@ } RtlInitUnicodeString(&usFormat, lpszFormat); - ret = NtUserRegisterClipboardFormat(&usFormat); + ret = NtUserRegisterWindowMessage(&usFormat); return ret; } Modified: trunk/reactos/dll/win32/user32/windows/input.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/i…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/input.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/input.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -574,15 +574,6 @@ return NtUserSendInput(nInputs, pInputs, cbSize); } -/* - * Private call for CSRSS - */ -VOID -STDCALL -PrivateCsrssRegisterPrimitive(VOID) -{ - NtUserCallNoParam(NOPARAM_ROUTINE_REGISTER_PRIMITIVE); -} /* * @implemented Modified: trunk/reactos/dll/win32/user32/windows/menu.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/m…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -4458,7 +4458,7 @@ mi.cch = MenuText.Length / sizeof(WCHAR); CleanHeap = TRUE; } - res = NtUserInsertMenuItem(hMenu, uItem, fByPosition, &mi); + res = NtUserThunkedMenuItemInfo(hMenu, uItem, fByPosition, TRUE, &mi, NULL); if ( CleanHeap ) RtlFreeUnicodeString ( &MenuText ); } @@ -4504,7 +4504,7 @@ mi.dwTypeData = MenuText.Buffer; mi.cch = MenuText.Length / sizeof(WCHAR); } - res = NtUserInsertMenuItem(hMenu, uItem, fByPosition, &mi); + res = NtUserThunkedMenuItemInfo(hMenu, uItem, fByPosition, TRUE, &mi, NULL); } return res; } @@ -5173,3 +5173,6 @@ } + + + Modified: trunk/reactos/dll/win32/user32/windows/message.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/m…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/message.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/message.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -2140,7 +2140,7 @@ HWND STDCALL GetCapture(VOID) { - return(NtUserGetCapture()); + return (HWND)NtUserGetThreadState(THREADSTATE_CAPTUREWINDOW); } /* @@ -2171,7 +2171,7 @@ USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 ); #endif - ret = NtUserGetQueueStatus(TRUE /*ClearChanges*/); + ret = NtUserCallOneParam(TRUE, ONEPARAM_ROUTINE_GETQUEUESTATUS); changed_bits = LOWORD(ret); wake_bits = HIWORD(ret); @@ -2195,7 +2195,7 @@ USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 ); #endif - ret = NtUserGetQueueStatus(FALSE /*ClearChanges*/); + ret = NtUserCallOneParam(FALSE, ONEPARAM_ROUTINE_GETQUEUESTATUS); wake_bits = HIWORD(ret); Modified: trunk/reactos/dll/win32/user32/windows/window.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/w…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/window.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/window.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -919,7 +919,8 @@ HWND STDCALL GetLastActivePopup(HWND hWnd) { - return NtUserGetLastActivePopup(hWnd); + UNIMPLEMENTED; + return 0; } @@ -1987,3 +1988,6 @@ /* EOF */ + + + Modified: trunk/reactos/dll/win32/user32/windows/winpos.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/w…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/winpos.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/winpos.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -99,7 +99,7 @@ HWND STDCALL GetActiveWindow(VOID) { - return(NtUserGetActiveWindow()); + return (HWND)NtUserGetThreadState(THREADSTATE_ACTIVEWINDOW); } /* Modified: trunk/reactos/include/reactos/win32k/ntuser.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntu…
============================================================================== --- trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -1424,11 +1424,18 @@ DWORD dwThreadId, DWORD Unknown1); -#define THREADSTATE_GETTHREADINFO (0) -#define THREADSTATE_FOCUSWINDOW (1) -#define THREADSTATE_INSENDMESSAGE (2) -#define THREADSTATE_PROGMANWINDOW (3) -#define THREADSTATE_TASKMANWINDOW (4) + +enum ThreadStateRoutines +{ + THREADSTATE_GETTHREADINFO, + THREADSTATE_INSENDMESSAGE, + THREADSTATE_FOCUSWINDOW, + THREADSTATE_ACTIVEWINDOW, + THREADSTATE_CAPTUREWINDOW, + THREADSTATE_PROGMANWINDOW, + THREADSTATE_TASKMANWINDOW +}; + DWORD NTAPI NtUserGetThreadState( @@ -1773,10 +1780,6 @@ DWORD dwUnknown5, DWORD dwUnknown6); -UINT -NTAPI -NtUserRealizePalette(HDC hDC); - DWORD NTAPI NtUserRealChildWindowFromPoint( @@ -1830,11 +1833,6 @@ int id, UINT fsModifiers, UINT vk); - -BOOL -NTAPI -NtUserGetLastInputInfo( - PLASTINPUTINFO plii); DWORD NTAPI @@ -2475,7 +2473,6 @@ * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist. */ -#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006 #define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007 @@ -2533,30 +2530,6 @@ BOOL Indirect); -typedef struct _WNDPROC_INFO -{ - WNDPROC WindowProc; - BOOL IsUnicode; -} WNDPROC_INFO, *PWNDPROC_INFO; - -BOOL -NTAPI -NtUserDereferenceWndProcHandle(IN HANDLE wpHandle, OUT PWNDPROC_INFO wpInfo); - -/* Use ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS */ -UINT -NTAPI -NtUserEnumClipboardFormats( - UINT format); - -HWND -NTAPI -NtUserGetActiveWindow(VOID); - -HWND -NTAPI -NtUserGetCapture(VOID); - /* Should be done in usermode */ ULONG_PTR NTAPI @@ -2579,10 +2552,6 @@ UINT fByPos, UINT gmdiFlags); -HWND -NTAPI -NtUserGetLastActivePopup(HWND hWnd); - BOOL NTAPI NtUserGetLastInputInfo( @@ -2606,10 +2575,6 @@ NTAPI NtUserGetProp(HWND hWnd, ATOM Atom); -DWORD -NTAPI -NtUserGetQueueStatus(BOOL ClearChanges); - BOOL NTAPI NtUserGetScrollInfo( @@ -2643,17 +2608,7 @@ NTAPI NtUserGetWindowThreadProcessId(HWND hWnd, LPDWORD UnsafePid); -DWORD -NTAPI -NtUserInsertMenuItem( - HMENU hMenu, - UINT uItem, - BOOL fByPosition, - LPCMENUITEMINFOW lpmii); - -BOOL -NTAPI -NtUserKillSystemTimer(HWND hWnd, UINT_PTR uIDEvent); + VOID NTAPI @@ -2762,11 +2717,6 @@ HMENU hMenu); -UINT -NTAPI -NtUserRegisterClipboardFormat( - PUNICODE_STRING format); - typedef struct tagNTUSERSENDMESSAGEINFO { Modified: trunk/reactos/subsystems/win32/win32k/include/class.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/class.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/class.h [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -3,6 +3,12 @@ #define IS_ATOM(x) \ (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000)) + +typedef struct _WNDPROC_INFO +{ + WNDPROC WindowProc; + BOOL IsUnicode; +} WNDPROC_INFO, *PWNDPROC_INFO; static BOOL __inline IsCallProcHandle(IN WNDPROC lpWndProc) Modified: trunk/reactos/subsystems/win32/win32k/include/clipboard.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/clipboard.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/clipboard.h [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -43,6 +43,8 @@ VOID FASTCALL IntClipboardFreeWindow(PWINDOW_OBJECT window); +UINT STDCALL IntEnumClipboardFormats(UINT format); + /* UINT FASTCALL IntEnumClipboardFormats(UINT format); Modified: trunk/reactos/subsystems/win32/win32k/include/focus.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/focus.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/focus.h [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -14,6 +14,8 @@ */ HWND FASTCALL IntGetThreadFocusWindow(); +HWND STDCALL IntGetCapture(); +HWND FASTCALL UserGetActiveWindow(); BOOL FASTCALL co_IntMouseActivateWindow(PWINDOW_OBJECT Window); Modified: trunk/reactos/subsystems/win32/win32k/include/menu.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/menu.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/menu.h [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -98,6 +98,8 @@ BOOL FASTCALL IntSetMenuItemRect(PMENU_OBJECT MenuObject, UINT Item, BOOL fByPos, RECT *rcRect); +DWORD STDCALL UserInsertMenuItem(HMENU hMenu, UINT uItem, BOOL fByPosition, LPCMENUITEMINFOW lpmii); + BOOL FASTCALL IntCleanupMenus(struct _EPROCESS *Process, PW32PROCESS Win32Process); Modified: trunk/reactos/subsystems/win32/win32k/include/misc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/misc.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/misc.h [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -7,5 +7,6 @@ #define W32PF_CREATEDWINORDC (0x0004) ULONG FASTCALL IntSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); +DWORD STDCALL IntGetQueueStatus(BOOL ClearChanges); #endif /* __WIN32K_MISC_H */ Modified: trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -130,31 +130,3 @@ return TRUE; } - -BOOL NTAPI -NtUserDereferenceWndProcHandle(IN HANDLE wpHandle, - OUT PWNDPROC_INFO wpInfo) -{ - BOOL Ret = FALSE; - - UserEnterShared(); - - _SEH_TRY - { - ProbeForWrite(wpInfo, - sizeof(WNDPROC_INFO), - sizeof(ULONG)); - - Ret = UserGetCallProcInfo(wpHandle, - wpInfo); - } - _SEH_HANDLE - { - SetLastWin32Error(_SEH_GetExceptionCode()); - } - _SEH_END; - - UserLeave(); - - return Ret; -} Modified: trunk/reactos/subsystems/win32/win32k/ntuser/clipboard.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/clipboard.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/clipboard.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -746,48 +746,6 @@ return ret; } -UINT STDCALL -NtUserRegisterClipboardFormat(PUNICODE_STRING FormatName) -{ - UINT ret = 0; - UNICODE_STRING cFormatName = {0}; - - if (FormatName == NULL) - { - SetLastWin32Error(ERROR_INVALID_PARAMETER); - return ret; - } - - UserEnterExclusive(); - - _SEH_TRY - { - cFormatName = ProbeForReadUnicodeString(FormatName); - - if (cFormatName.Length > 0) - { - ret = (UINT)IntAddAtom(cFormatName.Buffer); - //RtlFreeUnicodeString(&cFormatName); - } - else - { - SetLastWin32Error(ERROR_INVALID_NAME); - _SEH_LEAVE; - } - - } - _SEH_HANDLE - { - SetLastNtError(_SEH_GetExceptionCode()); - } - _SEH_END; - - UserLeave(); - - return ret; -} - - HWND STDCALL NtUserGetClipboardOwner(VOID) { @@ -1107,11 +1065,9 @@ } UINT STDCALL -NtUserEnumClipboardFormats(UINT uFormat) +IntEnumClipboardFormats(UINT uFormat) { UINT ret = 0; - - UserEnterShared(); if (intIsClipboardOpenByMe()) { @@ -1162,8 +1118,6 @@ SetLastWin32Error(ERROR_CLIPBOARD_NOT_OPEN); } - UserLeave(); - return ret; } Modified: trunk/reactos/subsystems/win32/win32k/ntuser/focus.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/focus.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/focus.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -386,88 +386,67 @@ } +HWND STDCALL +NtUserSetActiveWindow(HWND hWnd) +{ + USER_REFERENCE_ENTRY Ref; + DECLARE_RETURN(HWND); + + DPRINT("Enter NtUserSetActiveWindow(%x)\n", hWnd); + UserEnterExclusive(); + + if (hWnd) + { + PWINDOW_OBJECT Window; + PUSER_MESSAGE_QUEUE ThreadQueue; + HWND hWndPrev; + + if (!(Window = UserGetWindowObject(hWnd))) + { + RETURN( 0); + } + + ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetCurrentThreadWin32Thread()->MessageQueue; + + if (Window->MessageQueue != ThreadQueue) + { + SetLastWin32Error(ERROR_INVALID_WINDOW_HANDLE); + RETURN( 0); + } + + UserRefObjectCo(Window, &Ref); + hWndPrev = co_IntSetActiveWindow(Window); + UserDerefObjectCo(Window); + + RETURN( hWndPrev); + } + else + { + RETURN( co_IntSetActiveWindow(0)); + } + +CLEANUP: + DPRINT("Leave NtUserSetActiveWindow, ret=%i\n",_ret_); + UserLeave(); + END_CLEANUP; +} + /* * @implemented */ HWND STDCALL -NtUserGetActiveWindow(VOID) -{ - DECLARE_RETURN(HWND); - - DPRINT("Enter NtUserGetActiveWindow\n"); - UserEnterShared(); - - RETURN( UserGetActiveWindow()); - -CLEANUP: - DPRINT("Leave NtUserGetActiveWindow, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; -} - -HWND STDCALL -NtUserSetActiveWindow(HWND hWnd) -{ - USER_REFERENCE_ENTRY Ref; - DECLARE_RETURN(HWND); - - DPRINT("Enter NtUserSetActiveWindow(%x)\n", hWnd); - UserEnterExclusive(); - - if (hWnd) - { - PWINDOW_OBJECT Window; - PUSER_MESSAGE_QUEUE ThreadQueue; - HWND hWndPrev; - - if (!(Window = UserGetWindowObject(hWnd))) - { - RETURN( 0); - } - - ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetCurrentThreadWin32Thread()->MessageQueue; - - if (Window->MessageQueue != ThreadQueue) - { - SetLastWin32Error(ERROR_INVALID_WINDOW_HANDLE); - RETURN( 0); - } - - UserRefObjectCo(Window, &Ref); - hWndPrev = co_IntSetActiveWindow(Window); - UserDerefObjectCo(Window); - - RETURN( hWndPrev); - } - else - { - RETURN( co_IntSetActiveWindow(0)); - } - -CLEANUP: - DPRINT("Leave NtUserSetActiveWindow, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; -} - -/* - * @implemented - */ -HWND STDCALL -NtUserGetCapture(VOID) +IntGetCapture(VOID) { PUSER_MESSAGE_QUEUE ThreadQueue; DECLARE_RETURN(HWND); - DPRINT("Enter NtUserGetCapture\n"); - UserEnterShared(); + DPRINT("Enter IntGetCapture\n"); ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetCurrentThreadWin32Thread()->MessageQueue; RETURN( ThreadQueue ? ThreadQueue->CaptureWindow : 0); CLEANUP: - DPRINT("Leave NtUserGetCapture, ret=%i\n",_ret_); - UserLeave(); + DPRINT("Leave IntGetCapture, ret=%i\n",_ret_); END_CLEANUP; } Modified: trunk/reactos/subsystems/win32/win32k/ntuser/menu.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/menu.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/menu.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -1613,7 +1613,7 @@ * @implemented */ DWORD STDCALL -NtUserInsertMenuItem( +UserInsertMenuItem( HMENU hMenu, UINT uItem, BOOL fByPosition, @@ -1624,7 +1624,7 @@ ROSMENUITEMINFO ItemInfo; DECLARE_RETURN(DWORD); - DPRINT("Enter NtUserInsertMenuItem\n"); + DPRINT("Enter UserInsertMenuItem\n"); UserEnterExclusive(); if(!(Menu = UserGetMenuObject(hMenu))) @@ -1662,7 +1662,7 @@ RETURN( FALSE); CLEANUP: - DPRINT("Leave NtUserInsertMenuItem, ret=%i\n",_ret_); + DPRINT("Leave UserInsertMenuItem, ret=%i\n",_ret_); UserLeave(); END_CLEANUP; } @@ -2444,10 +2444,13 @@ LPMENUITEMINFOW lpmii, PUNICODE_STRING lpszCaption) { + + /* lpszCaption may be NULL, check for it and call RtlInitUnicodeString() + if bInsert == TRUE call NtUserInsertMenuItem() else NtUserSetMenuItemInfo() */ + + if (bInsert) return UserInsertMenuItem(hMenu, uItem, fByPosition, lpmii); + UNIMPLEMENTED - /* lpszCaption may be NULL, check for it and call RtlInitUnicodeString() - if bInsert == TRUE call NtUserInsertMenuItem() else NtUserSetMenuItemInfo() - */ return 0; } Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -1797,14 +1797,13 @@ } DWORD STDCALL -NtUserGetQueueStatus(BOOL ClearChanges) +IntGetQueueStatus(BOOL ClearChanges) { PUSER_MESSAGE_QUEUE Queue; DWORD Result; DECLARE_RETURN(DWORD); - DPRINT("Enter NtUserGetQueueStatus\n"); - UserEnterExclusive(); + DPRINT("Enter IntGetQueueStatus\n"); Queue = PsGetCurrentThreadWin32Thread()->MessageQueue; @@ -1814,11 +1813,10 @@ Queue->ChangedBits = 0; } - RETURN( Result); + RETURN(Result); CLEANUP: - DPRINT("Leave NtUserGetQueueStatus, ret=%i\n",_ret_); - UserLeave(); + DPRINT("Leave IntGetQueueStatus, ret=%i\n",_ret_); END_CLEANUP; } Modified: trunk/reactos/subsystems/win32/win32k/ntuser/misc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/misc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/misc.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -41,10 +41,15 @@ case THREADSTATE_FOCUSWINDOW: RETURN( (DWORD)IntGetThreadFocusWindow()); + case THREADSTATE_CAPTUREWINDOW: + /* FIXME should use UserEnterShared */ + RETURN( (DWORD)IntGetCapture()); case THREADSTATE_PROGMANWINDOW: RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hProgmanWindow); case THREADSTATE_TASKMANWINDOW: RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hTaskManWindow); + case THREADSTATE_ACTIVEWINDOW: + RETURN ( (DWORD)UserGetActiveWindow()); } RETURN( 0); Modified: trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -245,10 +245,7 @@ case ONEPARAM_ROUTINE_SETCARETBLINKTIME: RETURN( (DWORD)IntSetCaretBlinkTime((UINT)Param)); -/* - case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS: - RETURN( (DWORD)NtUserEnumClipboardFormats((UINT)Param)); -*/ + case ONEPARAM_ROUTINE_GETWINDOWINSTANCE: { PWINDOW_OBJECT Window; @@ -391,6 +388,13 @@ case ONEPARAM_ROUTINE_REALIZEPALETTE: RETURN (UserRealizePalette((HDC) Param)); + + case ONEPARAM_ROUTINE_GETQUEUESTATUS: + RETURN (IntGetQueueStatus((BOOL) Param)); + + case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS: + /* FIXME: Should use UserEnterShared */ + RETURN(IntEnumClipboardFormats(Param)); } DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam(), Param=0x%x\n", Routine, Param); @@ -870,6 +874,13 @@ DWORD Param, DWORD Routine) { + + switch (Routine) + { + case HWNDPARAM_ROUTINE_KILLSYSTEMTIMER: + return IntKillTimer(hWnd, (UINT_PTR)Param, TRUE); + } + UNIMPLEMENTED; return 0; Modified: trunk/reactos/subsystems/win32/win32k/ntuser/timer.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/timer.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/timer.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -268,24 +268,4 @@ } -BOOL -STDCALL -NtUserKillSystemTimer( - HWND hWnd, - UINT_PTR uIDEvent -) -{ - DECLARE_RETURN(BOOL); - - DPRINT("Enter NtUserKillSystemTimer\n"); - UserEnterExclusive(); - - RETURN(IntKillTimer(hWnd, uIDEvent, TRUE)); - -CLEANUP: - DPRINT("Leave NtUserKillSystemTimer, ret=%i\n", _ret_); - UserLeave(); - END_CLEANUP; -} - /* EOF */ Modified: trunk/reactos/subsystems/win32/win32k/ntuser/window.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -2978,37 +2978,6 @@ return 0; } - - -/* - * @unimplemented - */ -HWND STDCALL -NtUserGetLastActivePopup(HWND hWnd) -{ - /* - * This code can't work, because hWndLastPopup member of WINDOW_OBJECT is - * not changed anywhere. - * -- Filip, 01/nov/2003 - */ -#if 0 - PWINDOW_OBJECT Wnd; - HWND hWndLastPopup; - - if (!(Wnd = UserGetWindowObject(hWnd))) - { - return NULL; - } - - hWndLastPopup = Wnd->hWndLastPopup; - - return hWndLastPopup; -#else - - return NULL; -#endif -} - DWORD STDCALL Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w3…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Wed Apr 2 21:13:34 2008 @@ -681,20 +681,14 @@ NtGdiSetWindowOrgEx 4 NtUserBuildMenuItemList 4 NtUserCreateCursorIconHandle 2 -NtUserDereferenceWndProcHandle 2 -NtUserEnumClipboardFormats 1 -NtUserGetActiveWindow 0 -NtUserGetCapture 0 NtUserGetClassLong 3 NtUserGetClientOrigin 2 NtUserGetClientRect 2 NtUserGetMenuDefaultItem 3 -NtUserGetLastActivePopup 1 NtUserGetLastInputInfo 1 NtUserGetMinMaxInfo 3 NtUserGetMonitorInfo 2 NtUserGetProp 2 -NtUserGetQueueStatus 1 NtUserGetScrollInfo 3 NtUserGetShellWindow 0 NtUserGetSystemMetrics 1 @@ -702,8 +696,6 @@ NtUserGetWindowLong 3 NtUserGetWindowRect 2 NtUserGetWindowThreadProcessId 2 -NtUserInsertMenuItem 4 -NtUserKillSystemTimer 2 NtUserManualGuiCheck 1 NtUserMenuInfo 3 NtUserMenuItemInfo 5 @@ -711,7 +703,6 @@ NtUserMonitorFromRect 2 NtUserMonitorFromWindow 2 NtUserRegisterClassEx 6 -NtUserRegisterClipboardFormat 1 NtUserSendMessage 5 NtUserSendMessageTimeout 8 NtUserSendNotifyMessage 4
16 years, 8 months
1
0
0
0
← Newer
1
...
34
35
36
37
38
39
40
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Results per page:
10
25
50
100
200