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
July 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
25 participants
761 discussions
Start a n
N
ew thread
[jimtabor] 34419: Improve NtUserWaitForInputIdle, still a work in progress.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu Jul 10 20:24:47 2008 New Revision: 34419 URL:
http://svn.reactos.org/svn/reactos?rev=34419&view=rev
Log: Improve NtUserWaitForInputIdle, still a work in progress. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c 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] Thu Jul 10 20:24:47 2008 @@ -1858,11 +1858,35 @@ DWORD ret; LARGE_INTEGER Timeout; HANDLE handles[2]; + PEPROCESS Process; + PW32PROCESS W32Process; + NTSTATUS Status; UserEnterExclusive(); + Status = ObReferenceObjectByHandle(hProcess, + PROCESS_QUERY_INFORMATION, + PsProcessType, + UserMode, + (PVOID*)&Process, + NULL); + + if (!NT_SUCCESS(Status)) + { + SetLastNtError(Status); + return (DWORD)-1; + } + + W32Process = (PW32PROCESS)Process->Win32Process; + if (!W32Process) + { + ObDereferenceObject(Process); + SetLastWin32Error(ERROR_INVALID_PARAMETER); + return (DWORD)-1; + } + handles[0] = hProcess; - handles[1] = &PsGetCurrentProcessWin32Process()->InputIdleEvent; // Fixme! + handles[1] = &W32Process->InputIdleEvent; // Fixme! if (!handles[1]) return 0; /* no event to wait on */ @@ -1920,6 +1944,7 @@ } while (1); WaitExit: + ObDereferenceObject(Process); UserLeave(); return ret; }
16 years, 5 months
1
0
0
0
[jimtabor] 34418: - Port wine WaitForInputIdle. Work in progress and untested. Need input idle event to support it.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu Jul 10 20:02:28 2008 New Revision: 34418 URL:
http://svn.reactos.org/svn/reactos?rev=34418&view=rev
Log: - Port wine WaitForInputIdle. Work in progress and untested. Need input idle event to support it. Modified: trunk/reactos/subsystems/win32/win32k/include/win32.h trunk/reactos/subsystems/win32/win32k/ntuser/message.c Modified: trunk/reactos/subsystems/win32/win32k/include/win32.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] Thu Jul 10 20:02:28 2008 @@ -43,6 +43,7 @@ ULONG Flags; LONG GDIObjects; LONG UserObjects; + KEVENT InputIdleEvent; W32HEAP_USER_MAPPING HeapMappings; PW32PROCESSINFO ProcessInfo; 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] Thu Jul 10 20:02:28 2008 @@ -1854,10 +1854,74 @@ IN DWORD dwMilliseconds, IN BOOL Unknown2) { - UNIMPLEMENTED - - return 0; -} - + ULONGLONG start_time, elapsed, run; + DWORD ret; + LARGE_INTEGER Timeout; + HANDLE handles[2]; + + UserEnterExclusive(); + + handles[0] = hProcess; + handles[1] = &PsGetCurrentProcessWin32Process()->InputIdleEvent; // Fixme! + + if (!handles[1]) return 0; /* no event to wait on */ + + start_time = ((ULONGLONG)SharedUserData->TickCountLowDeprecated * + SharedUserData->TickCountMultiplier / 16777216); + elapsed = 0; + run = dwMilliseconds; + + DPRINT("waiting for %p\n", handles[1] ); + do + { + Timeout.QuadPart = run - elapsed; + UserLeave(); + ret = KeWaitForMultipleObjects( 2, + handles, + WaitAny, + UserRequest, + UserMode, + FALSE, + &Timeout, + NULL); + UserEnterExclusive(); + + switch (ret) + { + case STATUS_WAIT_0: + ret = (DWORD)-1; + goto WaitExit; + case STATUS_WAIT_2: + { + USER_MESSAGE msg; + co_IntPeekMessage( &msg, 0, 0, 0, PM_REMOVE | PM_QS_SENDMESSAGE ); + break; + } + case STATUS_USER_APC: + case STATUS_ALERTED: + case STATUS_TIMEOUT: + DPRINT1("timeout\n"); + ret = STATUS_TIMEOUT; + goto WaitExit; + default: + DPRINT1("finished\n"); + ret = 0; + goto WaitExit; + } + if (dwMilliseconds != -1 ) //INFINITE) + { + elapsed = ((ULONGLONG)SharedUserData->TickCountLowDeprecated * + SharedUserData->TickCountMultiplier / 16777216) - start_time; + + if (elapsed > run) + ret = STATUS_TIMEOUT; + break; + } + } + while (1); +WaitExit: + UserLeave(); + return ret; +} /* EOF */
16 years, 5 months
1
0
0
0
[jimtabor] 34417: - Move NtUserWaitForInputIdle to message.c.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu Jul 10 18:51:24 2008 New Revision: 34417 URL:
http://svn.reactos.org/svn/reactos?rev=34417&view=rev
Log: - Move NtUserWaitForInputIdle to message.c. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c 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] Thu Jul 10 18:51:24 2008 @@ -1847,4 +1847,17 @@ return FALSE; } +DWORD +NTAPI +NtUserWaitForInputIdle( + IN HANDLE hProcess, + IN DWORD dwMilliseconds, + IN BOOL Unknown2) +{ + UNIMPLEMENTED + + return 0; +} + + /* EOF */ Modified: trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] Thu Jul 10 18:51:24 2008 @@ -625,18 +625,6 @@ } DWORD -NTAPI -NtUserWaitForInputIdle( - IN HANDLE hProcess, - IN DWORD dwMilliseconds, - IN BOOL Unknown2) // Always FALSE -{ - UNIMPLEMENTED - - return 0; -} - -DWORD STDCALL NtUserWaitForMsgAndEvent( DWORD Unknown0)
16 years, 5 months
1
0
0
0
[silverblade] 34416: Replaced threaded wave stream playback code again, to overcome stuttering playback issue caused by limiting playback to a single buffer at a time. This was causing playback to only go smoothly when the buffer got split up (ie, it became double-buffered). Need to fix a bug occuring when buffers are exhausted still.
by silverblade@svn.reactos.org
Author: silverblade Date: Thu Jul 10 18:32:48 2008 New Revision: 34416 URL:
http://svn.reactos.org/svn/reactos?rev=34416&view=rev
Log: Replaced threaded wave stream playback code again, to overcome stuttering playback issue caused by limiting playback to a single buffer at a time. This was causing playback to only go smoothly when the buffer got split up (ie, it became double-buffered). Need to fix a bug occuring when buffers are exhausted still. Modified: branches/silverblade-audio/dll/win32/sndblst/sndblst.c branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c Modified: branches/silverblade-audio/dll/win32/sndblst/sndblst.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/snd…
============================================================================== --- branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] (original) +++ branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] Thu Jul 10 18:32:48 2008 @@ -165,7 +165,7 @@ /* WODM_OPEN */ Format.wFormatTag = WAVE_FORMAT_PCM; Format.nChannels = 2; - Format.nSamplesPerSec = 22050; + Format.nSamplesPerSec = 44100; Format.wBitsPerSample = 16; Format.nBlockAlign = Format.nChannels * (Format.wBitsPerSample / 8); Format.nAvgBytesPerSec = Format.nSamplesPerSec * Format.nBlockAlign; Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/include/react…
============================================================================== --- branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] (original) +++ branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] Thu Jul 10 18:32:48 2008 @@ -75,6 +75,13 @@ CopyMemory(dest, source, StringLengthToBytes(WCHAR, wcslen(source))) +#define MinimumOf(value_a, value_b) \ + ( value_a < value_b ? value_a : value_b ) + +#define MaximumOf(value_a, value_b) \ + ( value_a > value_b ? value_a : value_b ) + + struct _SOUND_DEVICE; struct _SOUND_DEVICE_INSTANCE; @@ -136,79 +143,6 @@ PSOUND_THREAD_COMPLETED_IO CompletionData; } SOUND_THREAD_OVERLAPPED, *PSOUND_THREAD_OVERLAPPED; -#if 0 -/* - Used internally to shuttle data to/from the sound processing thread. -*/ -typedef struct _THREAD_REQUEST -{ - struct _SOUND_DEVICE_INSTANCE* DeviceInstance; - DWORD RequestId; - PVOID Data; - MMRESULT Result; -} THREAD_REQUEST, *PTHREAD_REQUEST; - -typedef struct _SOUND_THREAD_COMPLETED_IO -{ - struct _SOUND_THREAD_COMPLETED_IO* Next; - PVOID ContextData; /* eg: PWAVEHDR */ - DWORD BytesTransferred; -} SOUND_THREAD_COMPLETED_IO, *PSOUND_THREAD_COMPLETED_IO; - -typedef struct _SOUND_THREAD_OVERLAPPED -{ - OVERLAPPED General; - struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance; - PVOID PrivateThreadData; - PVOID ContextData; /* eg: PWAVEHDR */ - PSOUND_THREAD_COMPLETED_IO CompletionData; -} SOUND_THREAD_OVERLAPPED, *PSOUND_THREAD_OVERLAPPED; - - -typedef VOID (*SOUND_THREAD_IO_COMPLETION_HANDLER)( - IN struct _SOUND_DEVICE_INSTANCE* Instance, - IN PVOID PrivateThreadData, - IN PVOID ContextData, - IN DWORD BytesTransferred); - -typedef struct _SOUND_THREAD -{ - /* Thread management */ - HANDLE Handle; - PVOID PrivateData; - BOOLEAN Running; - - HANDLE ReadyEvent; /* Thread waiting for a request */ - HANDLE RequestEvent; /* Caller sending a request */ - HANDLE DoneEvent; /* Thread completed a request */ - - SOUND_THREAD_REQUEST_HANDLER RequestHandler; - THREAD_REQUEST Request; - - SOUND_THREAD_OVERLAPPED Overlapped; - PSOUND_THREAD_COMPLETED_IO FirstCompletedIo; - SOUND_THREAD_IO_COMPLETION_HANDLER IoCompletionHandler; -} SOUND_THREAD, *PSOUND_THREAD; -#endif - - -/* - Wave thread -*/ -#if 0 -typedef struct _WAVE_THREAD_DATA -{ - /* Wave thread specific */ - DWORD BufferCount; - PWAVEHDR CurrentBuffer; - PWAVEHDR FirstBuffer; - PWAVEHDR LastBuffer; - - /* How much data is waiting with the driver */ - DWORD RemainingBytes; -} WAVE_THREAD_DATA, *PWAVE_THREAD_DATA; -#endif - /* Audio device function table */ @@ -276,9 +210,9 @@ /* The buffer currently being processed */ PWAVEHDR CurrentBuffer; /* How far into the current buffer we've gone */ - DWORD BufferOffset; - /* How much data we're expecting back */ - DWORD BytesOutstanding; + //DWORD BufferOffset; + /* How many I/O operations have been submitted */ + DWORD BuffersOutstanding; } WAVE_STREAM_INFO, *PWAVE_STREAM_INFO; typedef struct _SOUND_DEVICE_INSTANCE Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c [iso-8859-1] Thu Jul 10 18:32:48 2008 @@ -23,16 +23,15 @@ /* - How much we can feed to the driver at a time. - This is deliberately set low at the moment for testing purposes, and - intentionally set to be "one out" from 16384 so that writing 65536 bytes - results in 4x16383 byte buffers followed by 1x4 byte buffer. - - Should it be configurable? Some sound drivers let you set buffer size... + How much we can feed to the driver at a time. For example, 2 buffers + of 65536 would mean we can send 65536 bytes in a single I/O operation, + and a total of 2 buffers (not necessarily full). + + If a single WAVEHDR is larger than MAX_SOUND_BUFFER_SIZE then a second + buffer will be used. */ #define MAX_SOUND_BUFFER_SIZE 65536 - - +#define MAX_SOUND_BUFFERS 2 VOID CompleteWaveBuffer( @@ -40,122 +39,95 @@ IN PVOID Parameter, IN DWORD BytesWritten); +BOOLEAN +StreamReadyForData( + IN PWAVE_STREAM_INFO StreamInfo) +{ + SOUND_ASSERT(StreamInfo); + + return (StreamInfo->BuffersOutstanding < MAX_SOUND_BUFFERS); +} + +BOOLEAN +StreamHasBuffersQueued( + IN PWAVE_STREAM_INFO StreamInfo) +{ + SOUND_ASSERT(StreamInfo); + + return (StreamInfo->CurrentBuffer != NULL); +} + +DWORD +PerformWaveIo( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) +{ + PWAVE_STREAM_INFO StreamInfo; + DWORD BytesToStream, BytesStreamed = 0; + + SOUND_ASSERT(SoundDeviceInstance); + + StreamInfo = &SoundDeviceInstance->Streaming.Wave; + SOUND_ASSERT(StreamInfo->CurrentBuffer); + + /* Work out how much buffer can be submitted */ + BytesToStream = MinimumOf(StreamInfo->CurrentBuffer->dwBufferLength - + StreamInfo->CurrentBuffer->reserved, + MAX_SOUND_BUFFER_SIZE); + + SOUND_TRACE("Writing %p + %d (%d bytes) - buffer length is %d bytes\n", + StreamInfo->CurrentBuffer->lpData, + (int) StreamInfo->CurrentBuffer->reserved, + (int) BytesToStream, + (int) StreamInfo->CurrentBuffer->dwBufferLength); + + /* TODO: Error checking */ + OverlappedSoundDeviceIo(SoundDeviceInstance, + (PCHAR) StreamInfo->CurrentBuffer->lpData + + StreamInfo->CurrentBuffer->reserved, + BytesToStream, + CompleteWaveBuffer, + (PVOID) StreamInfo->CurrentBuffer); + + /* FIXME? - find out how much was actually sent? */ + BytesStreamed = BytesToStream; + + /* Advance the offset */ + StreamInfo->CurrentBuffer->reserved += BytesStreamed; + + /* If we've hit the end of the buffer, move to the next one */ + if ( StreamInfo->CurrentBuffer->reserved == + StreamInfo->CurrentBuffer->dwBufferLength ) + { + SOUND_TRACE("Advancing to next buffer\n"); + StreamInfo->CurrentBuffer = StreamInfo->CurrentBuffer->lpNext; + } + + /* Increase the number of outstanding buffers */ + ++ StreamInfo->BuffersOutstanding; + + return BytesStreamed; +} MMRESULT -StreamWaveIo( +StreamWaveBuffers( IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) { PWAVE_STREAM_INFO StreamInfo; - DWORD BytesAvailable, BytesToStream; + SOUND_ASSERT(SoundDeviceInstance); + + StreamInfo = &SoundDeviceInstance->Streaming.Wave; SOUND_TRACE("<== Streaming wave I/O ==>\n"); - - SOUND_ASSERT(SoundDeviceInstance); - - /* Get the streaming info */ - StreamInfo = &SoundDeviceInstance->Streaming.Wave; - - BytesAvailable = MAX_SOUND_BUFFER_SIZE - StreamInfo->BytesOutstanding; - - if ( ! BytesAvailable ) - { - SOUND_TRACE("NO BUFFER SPACE AVAILABLE\n"); - } - - if ( ! StreamInfo->CurrentBuffer ) - { - SOUND_TRACE("NO CURRENT BUFFER\n"); - } - - while ( StreamInfo->CurrentBuffer && BytesAvailable ) - { - /* - Determine how much of the current buffer remains to be - streamed. - */ - BytesToStream = StreamInfo->CurrentBuffer->dwBufferLength - - StreamInfo->BufferOffset; - - SOUND_TRACE("Buffer %p, offset %d, length %d\nAvailable %d | BytesToStream %d | BytesOutstanding %d\n", - StreamInfo->CurrentBuffer, - (int) StreamInfo->BufferOffset, - (int) StreamInfo->CurrentBuffer->dwBufferLength, - (int) BytesAvailable, - (int) BytesToStream, - (int) StreamInfo->BytesOutstanding); - - - /* - We may receive a buffer with no bytes left to stream, for - example as a result of an I/O completion triggering this - routine, or if on a previous iteration of this loop we managed - to finish sending a buffer. - */ - if ( BytesToStream == 0 ) - { - SOUND_TRACE("No bytes to stream\n"); - StreamInfo->CurrentBuffer = StreamInfo->CurrentBuffer->lpNext; - StreamInfo->BufferOffset = 0; - continue; - } - - /* - If the buffer can't be sent in its entirety to the sound driver, - send a portion of it to fill the available space. - */ - if ( BytesToStream > BytesAvailable ) - { - BytesToStream = BytesAvailable; - } - - SOUND_TRACE("Writing %d bytes from buffer %p, offset %d\n", - (int) BytesToStream, - StreamInfo->CurrentBuffer->lpData, - (int)StreamInfo->BufferOffset); - - /* TODO: Do the streaming */ - OverlappedSoundDeviceIo(SoundDeviceInstance, - (PCHAR) StreamInfo->CurrentBuffer->lpData + - StreamInfo->BufferOffset, - BytesToStream, - CompleteWaveBuffer, - (PVOID) StreamInfo->CurrentBuffer); - - /* - Keep track of the amount of data currently in the hands of the - sound driver, so we know how much space is being used up so - far, and how many bytes will be announced to the completion - routines. - */ - StreamInfo->BytesOutstanding += BytesToStream; - - /* - Update the offset within the buffer to reflect the amount of - data being transferred in this transaction. - */ - StreamInfo->BufferOffset += BytesToStream; - - /* - Update the number of bytes available for the next iteration. - */ - BytesAvailable = MAX_SOUND_BUFFER_SIZE - StreamInfo->BytesOutstanding; - - } - - SOUND_TRACE("<== Done filling stream ==>\n"); - -#if 0 - /* TODO: Check result */ - OverlappedSoundDeviceIo(SoundDeviceInstance, - WaveHeader->lpData, - WaveHeader->dwBufferLength, - CompleteWaveBuffer, - (PVOID) WaveHeader); -#endif + while ( StreamReadyForData(StreamInfo) && + StreamHasBuffersQueued(StreamInfo) ) + { + SOUND_TRACE("Performing wave I/O ...\n"); + PerformWaveIo(SoundDeviceInstance); + } + SOUND_TRACE("<== Done streaming ==>\n"); return MMSYSERR_NOERROR; } - VOID CompleteWaveBuffer( @@ -163,13 +135,22 @@ IN PVOID Parameter, IN DWORD BytesWritten) { - SOUND_TRACE("CompleteWaveBuffer called - wrote %d bytes\n", (int)BytesWritten); - - SoundDeviceInstance->Streaming.Wave.BytesOutstanding -= BytesWritten; - - StreamWaveIo(SoundDeviceInstance); -} - + PWAVE_STREAM_INFO StreamInfo; + + SOUND_TRACE("Wave completion routine\n"); + + SOUND_ASSERT(SoundDeviceInstance); + + StreamInfo = &SoundDeviceInstance->Streaming.Wave; + + /* Decrease the number of outstanding buffers */ + SOUND_ASSERT(StreamInfo->BuffersOutstanding > 0); + -- StreamInfo->BuffersOutstanding; + + PerformWaveIo(SoundDeviceInstance); + + SOUND_TRACE("Wave completion routine done\n"); +} MMRESULT QueueBuffer_Request( @@ -208,11 +189,12 @@ StreamInfo->CurrentBuffer = WaveHeader; /* Initialise the stream state */ - StreamInfo->BufferOffset = 0; - StreamInfo->BytesOutstanding = 0; + //StreamInfo->BufferOffset = 0; + //StreamInfo->BytesOutstanding = 0; + StreamInfo->BuffersOutstanding = 0; /* Get the streaming started */ - StreamWaveIo(SoundDeviceInstance); + StreamWaveBuffers(SoundDeviceInstance); } else {
16 years, 5 months
1
0
0
0
[tkreuzer] 34415: Patch by Stefan Ginsberg: fix members of UNIVERSAL_FONT_ID, based on msdn
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Thu Jul 10 15:09:23 2008 New Revision: 34415 URL:
http://svn.reactos.org/svn/reactos?rev=34415&view=rev
Log: Patch by Stefan Ginsberg: fix members of UNIVERSAL_FONT_ID, based on msdn Modified: trunk/reactos/include/reactos/win32k/ntgdityp.h Modified: trunk/reactos/include/reactos/win32k/ntgdityp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntg…
============================================================================== --- trunk/reactos/include/reactos/win32k/ntgdityp.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/win32k/ntgdityp.h [iso-8859-1] Thu Jul 10 15:09:23 2008 @@ -215,7 +215,8 @@ typedef struct _UNIVERSAL_FONT_ID { - DWORD dwUfid[2]; + ULONG CheckSum; + ULONG Index; } UNIVERSAL_FONT_ID, *PUNIVERSAL_FONT_ID; typedef struct _REALIZATION_INFO // Based on LOCALESIGNATURE
16 years, 5 months
1
0
0
0
[cfinck] 34414: Warning fixes for devenum by Stefan Ginsberg
by cfinck@svn.reactos.org
Author: cfinck Date: Thu Jul 10 11:26:28 2008 New Revision: 34414 URL:
http://svn.reactos.org/svn/reactos?rev=34414&view=rev
Log: Warning fixes for devenum by Stefan Ginsberg Modified: trunk/reactos/dll/directx/devenum/devenum.rbuild trunk/reactos/dll/directx/devenum/devenum_private.h trunk/reactos/dll/directx/devenum/mediacatenum.c Modified: trunk/reactos/dll/directx/devenum/devenum.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/devenum/devenu…
============================================================================== --- trunk/reactos/dll/directx/devenum/devenum.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/directx/devenum/devenum.rbuild [iso-8859-1] Thu Jul 10 11:26:28 2008 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> -<module name="devenum" type="win32dll" baseaddress="${BASEADDRESS_DEVENUM}" installbase="system32" installname="devenum.dll" allowwarnings="true" unicode="yes"> +<module name="devenum" type="win32dll" baseaddress="${BASEADDRESS_DEVENUM}" installbase="system32" installname="devenum.dll" unicode="yes"> <!-- Won't load correctly in ReactOS yet autoregister infsection="OleControlDlls" type="DllRegisterServer" --> <importlibrary definition="devenum.spec.def" /> <include base="devenum">.</include> Modified: trunk/reactos/dll/directx/devenum/devenum_private.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/devenum/devenu…
============================================================================== --- trunk/reactos/dll/directx/devenum/devenum_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/directx/devenum/devenum_private.h [iso-8859-1] Thu Jul 10 11:26:28 2008 @@ -67,7 +67,7 @@ typedef struct { IEnumMonikerVtbl *lpVtbl; - DWORD ref; + LONG ref; DWORD index; HKEY hkey; } EnumMonikerImpl; @@ -76,7 +76,7 @@ { IMonikerVtbl *lpVtbl; - ULONG ref; + LONG ref; HKEY hkey; } MediaCatMoniker; Modified: trunk/reactos/dll/directx/devenum/mediacatenum.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/devenum/mediac…
============================================================================== --- trunk/reactos/dll/directx/devenum/mediacatenum.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/devenum/mediacatenum.c [iso-8859-1] Thu Jul 10 11:26:28 2008 @@ -40,7 +40,7 @@ typedef struct { IPropertyBagVtbl *lpVtbl; - DWORD ref; + LONG ref; HKEY hkey; } RegPropBagImpl; @@ -103,7 +103,7 @@ IErrorLog* pErrorLog) { LPVOID pData = NULL; - LONG received; + DWORD received; DWORD type = 0; RegPropBagImpl *This = (RegPropBagImpl *)iface; HRESULT res = S_OK;
16 years, 5 months
1
0
0
0
[jmorlan] 34413: Some fixes for console alias functions: - Pass buffers via a CSR capture buffer, instead of trying to cram them in the size-limited LPC message. - GetConsoleAliasW: Return number of bytes written, not unrelated "Size" variable. - GetConsoleAliasExesW: Return value is in bytes, not characters. - GetConsoleAliasA, GetConsoleAliasExesA: Parameters and returns of corresponding W functions are in bytes, not characters. - IntFindAliasHeader, IntGetAliasEntry: Break when current name i
by jmorlan@svn.reactos.org
Author: jmorlan Date: Thu Jul 10 10:43:06 2008 New Revision: 34413 URL:
http://svn.reactos.org/svn/reactos?rev=34413&view=rev
Log: Some fixes for console alias functions: - Pass buffers via a CSR capture buffer, instead of trying to cram them in the size-limited LPC message. - GetConsoleAliasW: Return number of bytes written, not unrelated "Size" variable. - GetConsoleAliasExesW: Return value is in bytes, not characters. - GetConsoleAliasA, GetConsoleAliasExesA: Parameters and returns of corresponding W functions are in bytes, not characters. - IntFindAliasHeader, IntGetAliasEntry: Break when current name is greater, not less. - IntCreateAliasHeader: Fix bad use of pointer arithmetic; initialize Data to NULL. - IntCreateAliasEntry: Fix bad use of pointer arithmetic. - IntGetConsoleAliasesExesLength: Fix infinite loop; add sizeof(WCHAR) instead of 1. - IntGetAllConsoleAliasesLength: Fix infinite loop. - CsrGetConsoleAlias, CsrGetAllConsoleAliases, CsrGetConsoleAliasesExes: Don't use a winerror where an NTSTATUS is needed. Modified: trunk/reactos/dll/win32/kernel32/misc/console.c trunk/reactos/subsystems/win32/csrss/api/alias.c Modified: trunk/reactos/dll/win32/kernel32/misc/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/co…
============================================================================== --- trunk/reactos/dll/win32/kernel32/misc/console.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/misc/console.c [iso-8859-1] Thu Jul 10 10:43:06 2008 @@ -327,13 +327,13 @@ LPWSTR lpExeName) { PCSR_API_MESSAGE Request; + PCSR_CAPTURE_BUFFER CaptureBuffer; ULONG CsrRequest; NTSTATUS Status; ULONG Size; ULONG ExeLength; ULONG SourceLength; ULONG RequestLength; - //PVOID CaptureBuffer; WCHAR * Ptr; DPRINT("GetConsoleAliasW entered lpSource %S lpExeName %S\n", lpSource, lpExeName); @@ -343,12 +343,11 @@ ExeLength = wcslen(lpExeName) + 1; SourceLength = wcslen(lpSource) + 1; - Size = (ExeLength + SourceLength + CSRSS_MAX_ALIAS_TARGET_LENGTH) * sizeof(WCHAR); + Size = (ExeLength + SourceLength) * sizeof(WCHAR); RequestLength = Size + sizeof(CSR_API_MESSAGE); Request = RtlAllocateHeap(GetProcessHeap(), 0, RequestLength); -#if 0 CaptureBuffer = CsrAllocateCaptureBuffer(1, TargetBufferLength); if (!CaptureBuffer) { @@ -363,36 +362,32 @@ (PVOID*)&Request->Data.GetConsoleAlias.TargetBuffer); Request->Data.GetConsoleAlias.TargetBufferLength = TargetBufferLength; -#endif - Ptr = (LPWSTR)((ULONG_PTR)Request + sizeof(CSR_API_MESSAGE)); wcscpy(Ptr, lpSource); Ptr += SourceLength; wcscpy(Ptr, lpExeName); - Ptr += ExeLength; Request->Data.GetConsoleAlias.ExeLength = ExeLength; - Request->Data.GetConsoleAlias.TargetBufferLength = CSRSS_MAX_ALIAS_TARGET_LENGTH * sizeof(WCHAR); Request->Data.GetConsoleAlias.SourceLength = SourceLength; Status = CsrClientCallServer(Request, - NULL, //CaptureBuffer, + CaptureBuffer, CsrRequest, sizeof(CSR_API_MESSAGE) + Size); if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request->Status)) { RtlFreeHeap(GetProcessHeap(), 0, Request); - //CsrFreeCaptureBuffer(CaptureBuffer); + CsrFreeCaptureBuffer(CaptureBuffer); SetLastErrorByStatus(Status); return 0; } - wcscpy(lpTargetBuffer, Ptr); + wcscpy(lpTargetBuffer, Request->Data.GetConsoleAlias.TargetBuffer); RtlFreeHeap(GetProcessHeap(), 0, Request); - //CsrFreeCaptureBuffer(CaptureBuffer); - - return Size; + CsrFreeCaptureBuffer(CaptureBuffer); + + return Request->Data.GetConsoleAlias.BytesWritten; } @@ -424,13 +419,13 @@ lpwTargetBuffer = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, TargetBufferLength * sizeof(WCHAR)); - dwResult = GetConsoleAliasW(lpwSource, lpwTargetBuffer, TargetBufferLength, lpwExeName); + dwResult = GetConsoleAliasW(lpwSource, lpwTargetBuffer, TargetBufferLength * sizeof(WCHAR), lpwExeName); HeapFree(GetProcessHeap(), 0, lpwSource); HeapFree(GetProcessHeap(), 0, lpwExeName); if (dwResult) - dwResult = WideCharToMultiByte(CP_ACP, 0, lpwTargetBuffer, dwResult, lpTargetBuffer, TargetBufferLength, NULL, NULL); + dwResult = WideCharToMultiByte(CP_ACP, 0, lpwTargetBuffer, dwResult / sizeof(WCHAR), lpTargetBuffer, TargetBufferLength, NULL, NULL); HeapFree(GetProcessHeap(), 0, lpwTargetBuffer); @@ -446,27 +441,42 @@ DWORD ExeNameBufferLength) { CSR_API_MESSAGE Request; + PCSR_CAPTURE_BUFFER CaptureBuffer; ULONG CsrRequest; NTSTATUS Status; DPRINT("GetConsoleAliasExesW entered\n"); + CaptureBuffer = CsrAllocateCaptureBuffer(1, ExeNameBufferLength); + if (!CaptureBuffer) + { + SetLastError(ERROR_NOT_ENOUGH_MEMORY); + return 0; + } + CsrRequest = MAKE_CSR_API(GET_CONSOLE_ALIASES_EXES, CSR_NATIVE); - Request.Data.GetConsoleAliasesExes.ExeNames = lpExeNameBuffer; + CsrAllocateMessagePointer(CaptureBuffer, + ExeNameBufferLength, + (PVOID*)&Request.Data.GetConsoleAliasesExes.ExeNames); Request.Data.GetConsoleAliasesExes.Length = ExeNameBufferLength; Status = CsrClientCallServer(& Request, - NULL, + CaptureBuffer, CsrRequest, sizeof(CSR_API_MESSAGE)); if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status)) { SetLastErrorByStatus(Status); + CsrFreeCaptureBuffer(CaptureBuffer); return 0; } - return Request.Data.GetConsoleAliasesExes.BytesWritten / sizeof(WCHAR); + memcpy(lpExeNameBuffer, + Request.Data.GetConsoleAliasesExes.ExeNames, + Request.Data.GetConsoleAliasesExes.BytesWritten); + CsrFreeCaptureBuffer(CaptureBuffer); + return Request.Data.GetConsoleAliasesExes.BytesWritten; } @@ -484,10 +494,10 @@ lpwExeNameBuffer = HeapAlloc(GetProcessHeap(), 0, ExeNameBufferLength * sizeof(WCHAR)); - dwResult = GetConsoleAliasExesW(lpwExeNameBuffer, ExeNameBufferLength); + dwResult = GetConsoleAliasExesW(lpwExeNameBuffer, ExeNameBufferLength * sizeof(WCHAR)); if (dwResult) - dwResult = WideCharToMultiByte(CP_ACP, 0, lpwExeNameBuffer, dwResult, lpExeNameBuffer, ExeNameBufferLength, NULL, NULL); + dwResult = WideCharToMultiByte(CP_ACP, 0, lpwExeNameBuffer, dwResult / sizeof(WCHAR), lpExeNameBuffer, ExeNameBufferLength, NULL, NULL); HeapFree(GetProcessHeap(), 0, lpwExeNameBuffer); return dwResult; Modified: trunk/reactos/subsystems/win32/csrss/api/alias.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/api…
============================================================================== --- trunk/reactos/subsystems/win32/csrss/api/alias.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/csrss/api/alias.c [iso-8859-1] Thu Jul 10 10:43:06 2008 @@ -34,6 +34,21 @@ static PALIAS_HEADER RootHeader = NULL; +/* Ensure that a buffer is contained within the process's shared memory section. */ +static BOOL +ValidateBuffer(PCSRSS_PROCESS_DATA ProcessData, PVOID Buffer, ULONG Size) +{ + ULONG Offset = (BYTE *)Buffer - (BYTE *)ProcessData->CsrSectionViewBase; + if (Offset >= ProcessData->CsrSectionViewSize + || Size > (ProcessData->CsrSectionViewSize - Offset)) + { + DPRINT1("Invalid buffer %p %d; not within %p %d\n", + Buffer, Size, ProcessData->CsrSectionViewBase, ProcessData->CsrSectionViewSize); + return FALSE; + } + return TRUE; +} + static PALIAS_HEADER IntFindAliasHeader(PALIAS_HEADER RootHeader, LPCWSTR lpExeName) @@ -44,7 +59,7 @@ if (!diff) return RootHeader; - if (diff < 0) + if (diff > 0) break; RootHeader = RootHeader->Next; @@ -62,8 +77,9 @@ if (!Entry) return Entry; - Entry->lpExeName = (LPCWSTR)(Entry + sizeof(ALIAS_HEADER)); + Entry->lpExeName = (LPCWSTR)(Entry + 1); wcscpy((WCHAR*)Entry->lpExeName, lpExeName); + Entry->Data = NULL; Entry->Next = NULL; return Entry; } @@ -117,7 +133,7 @@ if (!diff) return RootHeader; - if (diff < 0) + if (diff > 0) break; RootHeader = RootHeader->Next; @@ -175,7 +191,7 @@ if (!Entry) return Entry; - Entry->lpSource = (LPCWSTR)(Entry + sizeof(ALIAS_ENTRY)); + Entry->lpSource = (LPCWSTR)(Entry + 1); wcscpy((LPWSTR)Entry->lpSource, lpSource); Entry->lpTarget = Entry->lpSource + dwSource; wcscpy((LPWSTR)Entry->lpTarget, lpTarget); @@ -192,9 +208,10 @@ while(RootHeader) { length += (wcslen(RootHeader->lpExeName) + 1) * sizeof(WCHAR); + RootHeader = RootHeader->Next; } if (length) - length++; // last entry entry is terminated with 2 zero bytes + length += sizeof(WCHAR); // last entry entry is terminated with 2 zero bytes return length; } @@ -236,6 +253,7 @@ Length += wcslen(CurEntry->lpSource); Length += wcslen(CurEntry->lpTarget); Length += 2; // zero byte and '=' + CurEntry = CurEntry->Next; } if (Length) @@ -374,7 +392,7 @@ lpSource = (LPWSTR)((ULONG_PTR)Request + sizeof(CSR_API_MESSAGE)); lpExeName = lpSource + Request->Data.GetConsoleAlias.SourceLength; - lpTarget = (LPWSTR)lpExeName + Request->Data.GetConsoleAlias.ExeLength; + lpTarget = Request->Data.GetConsoleAlias.TargetBuffer; DPRINT("CsrGetConsoleAlias entered lpExeName %p lpSource %p TargetBuffer %p TargetBufferLength %u\n", @@ -404,23 +422,17 @@ Length = (wcslen(Entry->lpTarget)+1) * sizeof(WCHAR); if (Length > Request->Data.GetConsoleAlias.TargetBufferLength) { - Request->Status = ERROR_INSUFFICIENT_BUFFER; + Request->Status = STATUS_BUFFER_TOO_SMALL; return Request->Status; } -#if 0 - if (((PVOID)lpTarget < ProcessData->CsrSectionViewBase) - || (((ULONG_PTR)lpTarget + Request->Data.GetConsoleAlias.TargetBufferLength) > ((ULONG_PTR)ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) + if (!ValidateBuffer(ProcessData, lpTarget, Request->Data.GetConsoleAlias.TargetBufferLength)) { Request->Status = STATUS_ACCESS_VIOLATION; - DPRINT1("CsrGetConsoleAlias out of range lpTarget %p LowerViewBase %p UpperViewBase %p Size %p\n", lpTarget, - ProcessData->CsrSectionViewBase, (ULONG_PTR)ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize, ProcessData->CsrSectionViewSize); - return Request->Status; - } -#endif + return Request->Status; + } wcscpy(lpTarget, Entry->lpTarget); - lpTarget[CSRSS_MAX_ALIAS_TARGET_LENGTH-1] = '\0'; Request->Data.GetConsoleAlias.BytesWritten = Length; Request->Status = STATUS_SUCCESS; return Request->Status; @@ -446,7 +458,15 @@ if (IntGetAllConsoleAliasesLength(Header) > Request->Data.GetAllConsoleAlias.AliasBufferLength) { - Request->Status = ERROR_INSUFFICIENT_BUFFER; + Request->Status = STATUS_BUFFER_OVERFLOW; + return Request->Status; + } + + if (!ValidateBuffer(ProcessData, + Request->Data.GetAllConsoleAlias.AliasBuffer, + Request->Data.GetAllConsoleAlias.AliasBufferLength)) + { + Request->Status = STATUS_ACCESS_VIOLATION; return Request->Status; } @@ -495,7 +515,7 @@ if (ExesLength > Request->Data.GetConsoleAliasesExes.Length) { - Request->Status = ERROR_INSUFFICIENT_BUFFER; + Request->Status = STATUS_BUFFER_OVERFLOW; return Request->Status; } @@ -505,6 +525,14 @@ return Request->Status; } + if (!ValidateBuffer(ProcessData, + Request->Data.GetConsoleAliasesExes.ExeNames, + Request->Data.GetConsoleAliasesExes.Length)) + { + Request->Status = STATUS_ACCESS_VIOLATION; + return Request->Status; + } + BytesWritten = IntGetConsoleAliasesExes(RootHeader, Request->Data.GetConsoleAliasesExes.ExeNames, Request->Data.GetConsoleAliasesExes.Length);
16 years, 5 months
1
0
0
0
[cwittich] 34412: don't deref NULL pointer
by cwittich@svn.reactos.org
Author: cwittich Date: Thu Jul 10 09:00:50 2008 New Revision: 34412 URL:
http://svn.reactos.org/svn/reactos?rev=34412&view=rev
Log: don't deref NULL pointer Modified: trunk/reactos/subsystems/win32/win32k/ntuser/winpos.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/winpos.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/winpos.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/winpos.c [iso-8859-1] Thu Jul 10 09:00:50 2008 @@ -117,6 +117,7 @@ LONG style; if (!Wnd) return FALSE; + if (!Wnd->Wnd) return FALSE; style = Wnd->Wnd->Style; if (!(style & WS_VISIBLE) && Wnd->OwnerThread->ThreadsProcess != CsrProcess) return FALSE;
16 years, 5 months
1
0
0
0
[cfinck] 34411: Fix ordinals of msvcrt according to Windows Server 2003 SP1's msvcrt.dll
by cfinck@svn.reactos.org
Author: cfinck Date: Thu Jul 10 07:39:54 2008 New Revision: 34411 URL:
http://svn.reactos.org/svn/reactos?rev=34411&view=rev
Log: Fix ordinals of msvcrt according to Windows Server 2003 SP1's msvcrt.dll Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.def Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/msvcrt.de…
============================================================================== --- trunk/reactos/dll/win32/msvcrt/msvcrt.def [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt/msvcrt.def [iso-8859-1] Thu Jul 10 07:39:54 2008 @@ -4,7 +4,7 @@ LIBRARY msvcrt.dll EXPORTS - $I10_OUTPUT=MSVCRT_I10_OUTPUT @0 + $I10_OUTPUT=MSVCRT_I10_OUTPUT @57 ??0__non_rtti_object@@QAE@ABV0@@Z=__thiscall_MSVCRT___non_rtti_object_copy_ctor @1 ??0__non_rtti_object@@QAE@PBD@Z=__thiscall_MSVCRT___non_rtti_object_ctor @2 ; ??0bad_cast@@AAE@PBQBD@Z @3 @@ -46,803 +46,803 @@ ??_Gexception@@UAEPAXI@Z=__thiscall_MSVCRT_exception_scalar_dtor @39 ??_U@YAPAXI@Z=MSVCRT_operator_new @40 ??_V@YAXPAX@Z=MSVCRT_operator_delete @41 - ?_query_new_handler@@YAP6AHI@ZXZ=MSVCRT__query_new_handler @42 - ?_query_new_mode@@YAHXZ=MSVCRT__query_new_mode @43 - ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z=MSVCRT__set_new_handler @44 - ?_set_new_mode@@YAHH@Z=MSVCRT__set_new_mode @45 - ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z=MSVCRT__set_se_translator @46 - ?before@type_info@@QBEHABV1@@Z=__thiscall_MSVCRT_type_info_before @47 - ?name@type_info@@QBEPBDXZ=__thiscall_MSVCRT_type_info_name @48 - ?raw_name@type_info@@QBEPBDXZ=__thiscall_MSVCRT_type_info_raw_name @49 - ?set_new_handler@@YAP6AXXZP6AXXZ@Z=MSVCRT__set_new_handler @50 - ?set_terminate@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_terminate @51 - ?set_unexpected@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_unexpected @52 - ?terminate@@YAXXZ=MSVCRT_terminate @53 - ?unexpected@@YAXXZ=MSVCRT_unexpected @54 - ?what@exception@@UBEPBDXZ=__thiscall_MSVCRT_what_exception @55 - _CIacos @56 - _CIasin @57 - _CIatan @58 - _CIatan2 @59 - _CIcos @60 - _CIcosh @61 - _CIexp @62 - _CIfmod @63 - _CIlog @64 - _CIlog10 @65 - _CIpow @66 - _CIsin @67 - _CIsinh @68 - _CIsqrt @69 - _CItan @70 - _CItanh @71 - _CxxThrowException @72 - _EH_prolog @73 - _Getdays @74 - _Getmonths @75 - _Gettnames @76 - _HUGE @77 DATA - _Strftime @78 - _XcptFilter @79 - __CppXcptFilter @80 -; __CxxCallUnwindDtor @81 -; __CxxCallUnwindVecDtor @82 - __CxxDetectRethrow @83 -; __CxxExceptionFilter @84 - __CxxFrameHandler @85 -; __CxxFrameHandler2 @86 - __CxxLongjmpUnwind @87 - __CxxQueryExceptionSize @88 -; __CxxRegisterExceptionObject @89 -; __CxxUnregisterExceptionObject @90 -; __DestructExceptionObject @91 - __RTCastToVoid=MSVCRT___RTCastToVoid @92 - __RTDynamicCast=MSVCRT___RTDynamicCast @93 - __RTtypeid=MSVCRT___RTtypeid @94 - __STRINGTOLD @95 -; ___lc_codepage_func @96 -; ___lc_collate_cp_func @97 -; ___lc_handle_func @98 -; ___mb_cur_max_func @99 -; ___setlc_active_func @100 -; ___unguarded_readlc_active_add_func @101 - __argc @102 DATA - __argv @103 DATA - __badioinfo @104 DATA - __crtCompareStringA=kernel32.CompareStringA @105 - __crtCompareStringW=kernel32.CompareStringW @106 - __crtGetLocaleInfoW=kernel32.GetLocaleInfo @107 - __crtGetStringTypeW=kernel32.GetStringTypeW @108 - __crtLCMapStringA @109 -; __crtLCMapStringW @110 - __dllonexit @111 - __doserrno @112 - __fpecode @113 - __getmainargs @114 - __initenv @115 -; __iob_func @116 - __isascii @117 - __iscsym @118 - __iscsymf @119 - __lc_codepage @120 DATA - __lc_collate_cp @121 DATA - __lc_handle @122 DATA - __lconv_init @123 - __mb_cur_max @124 DATA - __p___argc @125 - __p___argv @126 - __p___initenv @127 - __p___mb_cur_max @128 - __p___wargv @129 - __p___winitenv @130 - __p__acmdln @131 - __p__amblksiz @132 - __p__commode @133 - __p__daylight @134 - __p__dstbias @135 - __p__environ @136 -; __p__fileinfo @137 - __p__fmode @138 - __p__iob @139 -; __p__mbcasemap @140 - __p__mbctype @141 - __p__osver @142 - __p__pctype @143 - __p__pgmptr @144 - __p__pwctype @145 - __p__timezone @146 - __p__tzname @147 - __p__wcmdln @148 - __p__wenviron @149 - __p__winmajor @150 - __p__winminor @151 - __p__winver @152 - __p__wpgmptr @153 -; __pctype_func @154 - __pioinfo @155 DATA -; __pwctype_func @156 - __pxcptinfoptrs @157 - __set_app_type @158 - __setlc_active @159 DATA - __setusermatherr @160 - __threadhandle @161 - __threadid @162 - __toascii @163 - __unDName @164 - __unDNameEx @165 -; __uncaught_exception @166 - __unguarded_readlc_active @167 DATA - __wargv @168 DATA -; __wcserror @169 - __wgetmainargs @170 - __winitenv @171 DATA - _abnormal_termination @172 -; _abs64 @173 - _access @174 - _acmdln @175 DATA - _adj_fdiv_m16i @176 - _adj_fdiv_m32 @177 - _adj_fdiv_m32i @178 - _adj_fdiv_m64 @179 - _adj_fdiv_r @180 - _adj_fdivr_m16i @181 - _adj_fdivr_m32 @182 - _adj_fdivr_m32i @183 - _adj_fdivr_m64 @184 - _adj_fpatan @185 - _adj_fprem @186 - _adj_fprem1 @187 - _adj_fptan @188 - _adjust_fdiv @189 DATA - _aexit_rtn @190 - _aligned_free @191 - _aligned_malloc @192 - _aligned_offset_malloc @193 - _aligned_offset_realloc @194 - _aligned_realloc @195 - _amsg_exit @196 - _assert @197 -; _atodbl @198 - _atoi64 @199 - _atoldbl @200 - _beep @201 - _beginthread @202 - _beginthreadex @203 - _c_exit @204 - _cabs @205 - _callnewh @206 - _cexit @207 - _cgets @208 -; _cgetws @209 - _chdir @210 - _chdrive @211 - _chgsign @212 - _chkesp @213 - _chmod @214 - _chsize @215 - _clearfp @216 - _close @217 - _commit @218 - _commode @219 DATA - _control87 @220 - _controlfp @221 - _copysign @222 - _cprintf @223 - _cputs @224 -; _cputws @225 - _creat @226 - _cscanf @227 -; _ctime64 @228 - _ctype @229 DATA - _cwait @230 -; _cwprintf @231 -; _cwscanf @232 - _daylight @233 DATA - _dstbias @234 DATA - _dup @235 - _dup2 @236 - _ecvt @237 - _endthread @238 - _endthreadex @239 - _environ @240 DATA - _eof @241 - _errno @242 - _except_handler2 @243 - _except_handler3 @244 - _execl @245 - _execle @246 - _execlp @247 - _execlpe @248 - _execv @249 - _execve @250 - _execvp @251 - _execvpe @252 - _exit @253 - _expand @254 - _fcloseall @255 - _fcvt @256 - _fdopen @257 - _fgetchar @258 - _fgetwchar @259 - _filbuf @260 -; _fileinfo @261 - _filelength @262 - _filelengthi64 @263 - _fileno @264 - _findclose @265 - _findfirst @266 -; _findfirst64 @267 - _findfirsti64 @268 - _findnext @269 -; _findnext64 @270 - _findnexti64 @271 - _finite @272 - _flsbuf @273 - _flushall @274 - _fmode @275 DATA - _fpclass @276 - _fpieee_flt @277 - _fpreset @278 - _fputchar @279 - _fputwchar @280 - _fsopen @281 - _fstat @282 - _fstat64 @283 - _fstati64 @284 - _ftime @285 -; _ftime64 @286 - _ftol @287 - _fullpath @288 - _futime @289 -; _futime64 @290 - _gcvt @291 -; _get_heap_handle @292 - _get_osfhandle @293 - _get_sbh_threshold @294 - _getch @295 - _getche @296 - _getcwd @297 - _getdcwd @298 - _getdiskfree @299 - _getdllprocaddr @300 - _getdrive @301 - _getdrives=kernel32.GetLogicalDrives @302 - _getmaxstdio @303 - _getmbcp @304 - _getpid=kernel32.GetCurrentProcessId @305 - _getsystime @306 - _getw @307 -; _getwch @308 -; _getwche @309 - _getws @310 - _global_unwind2 @311 -; _gmtime64 @312 - _heapadd @313 - _heapchk @314 - _heapmin @315 - _heapset @316 -; _heapused @317 - _heapwalk @318 - _hypot @319 - _i64toa @320 - _i64tow @321 - _initterm @322 -; _inp @323 -; _inpd @324 -; _inpw @325 - _iob @326 DATA - _isatty @327 - _isctype @328 - _ismbbalnum @329 - _ismbbalpha @330 - _ismbbgraph @331 - _ismbbkalnum @332 - _ismbbkana @333 -; _ismbbkprint @334 - _ismbbkpunct @335 - _ismbblead @336 - _ismbbprint @337 - _ismbbpunct @338 - _ismbbtrail @339 - _ismbcalnum @340 - _ismbcalpha @341 - _ismbcdigit @342 - _ismbcgraph @343 - _ismbchira @344 - _ismbckata @345 - _ismbcl0 @346 - _ismbcl1 @347 - _ismbcl2 @348 - _ismbclegal @349 - _ismbclower @350 - _ismbcprint @351 - _ismbcpunct @352 - _ismbcspace @353 - _ismbcsymbol @354 - _ismbcupper @355 - _ismbslead @356 - _ismbstrail @357 - _isnan @358 - _itoa @359 - _itow @360 - _j0 @361 - _j1 @362 - _jn @363 - _kbhit @364 - _lfind @365 - _loaddll @366 - _local_unwind2 @367 -; _localtime64 @368 - _lock @369 - _locking @370 - _logb @371 - _longjmpex=longjmp @372 - _lrotl @373 - _lrotr @374 - _lsearch @375 - _lseek @376 - _lseeki64 @377 - _ltoa @378 - _ltow @379 - _makepath @380 - _mbbtombc @381 - _mbbtype @382 -; _mbcasemap @383 - _mbccpy @384 - _mbcjistojms @385 - _mbcjmstojis @386 - _mbclen @387 - _mbctohira @388 - _mbctokata @389 - _mbctolower @390 - _mbctombb @391 - _mbctoupper @392 - _mbctype @393 DATA - _mbsbtype @394 - _mbscat @395 - _mbschr @396 - _mbscmp @397 - _mbscoll @398 - _mbscpy @399 - _mbscspn @400 - _mbsdec @401 - _mbsdup @402 - _mbsicmp @403 - _mbsicoll @404 - _mbsinc @405 - _mbslen @406 - _mbslwr @407 - _mbsnbcat @408 - _mbsnbcmp @409 - _mbsnbcnt @410 - _mbsnbcoll @411 - _mbsnbcpy @412 - _mbsnbicmp @413 - _mbsnbicoll @414 - _mbsnbset @415 - _mbsncat @416 - _mbsnccnt @417 - _mbsncmp @418 - _mbsncoll @419 - _mbsncpy @420 - _mbsnextc @421 - _mbsnicmp @422 - _mbsnicoll @423 - _mbsninc @424 - _mbsnset @425 - _mbspbrk @426 - _mbsrchr @427 - _mbsrev @428 - _mbsset @429 - _mbsspn @430 - _mbsspnp @431 - _mbsstr @432 - _mbstok @433 - _mbstrlen @434 - _mbsupr @435 - _memccpy @436 - _memicmp @437 - _mkdir @438 -; _mkgmtime @439 -; _mkgmtime64 @440 - _mktemp @441 -; _mktime64 @442 - _msize @443 - _nextafter @444 - _onexit @445 - _open @446 - _open_osfhandle @447 -; _osplatform @448 - _osver @449 DATA -; _outp @450 -; _outpd @451 -; _outpw @452 - _pclose @453 - _pctype @454 DATA - _pgmptr @455 DATA - _pipe @456 - _popen @457 - _purecall @458 - _putch @459 - _putenv @460 - _putw @461 -; _putwch @462 - _putws @463 - _pwctype @464 - _read @465 -; _resetstkoflw @466 - _rmdir @467 - _rmtmp @468 - _rotl @469 -; _rotl64 @470 - _rotr @471 -; _rotr64 @472 - _safe_fdiv @473 - _safe_fdivr @474 - _safe_fprem @475 - _safe_fprem1 @476 - _scalb @477 -; _scprintf @478 -; _scwprintf @479 - _searchenv @480 - _seh_longjmp_unwind=_seh_longjmp_unwind@4 @481 -; _set_SSE2_enable @482 - _set_error_mode @483 - _set_sbh_threshold @484 - _seterrormode @485 - _setjmp @486 - _setjmp3 @487 - _setmaxstdio @488 - _setmbcp @489 - _setmode @490 - _setsystime @491 - _sleep @492 - _snprintf @493 -; _snscanf @494 - _snwprintf @495 -; _snwscanf @496 - _sopen @497 - _spawnl @498 - _spawnle @499 - _spawnlp @500 - _spawnlpe @501 - _spawnv @502 - _spawnve @503 - _spawnvp @504 - _spawnvpe @505 - _splitpath @506 - _stat @507 - _stat64 @508 - _stati64 @509 - _statusfp @510 - _strcmpi @511 - _strdate @512 - _strdup @513 - _strerror @514 - _stricmp @515 - _stricoll @516 - _strlwr @517 - _strncoll @518 - _strnicmp @519 - _strnicoll @520 - _strnset @521 - _strrev @522 - _strset @523 - _strtime @524 -; _strtoi64 @525 - _strtoui64=strtoull @526 - _strupr @527 - _swab @528 - _sys_errlist @529 DATA - _sys_nerr @530 DATA - _tell @531 - _telli64 @532 - _tempnam @533 -; _time64 @534 - _timezone @535 DATA - _tolower @536 - _toupper @537 - _tzname @538 DATA - _tzset @539 - _ui64toa @540 - _ui64tow @541 - _ultoa @542 - _ultow @543 - _umask @544 - _ungetch @545 -; _ungetwch @546 - _unlink @547 - _unloaddll @548 - _unlock @549 - _utime @550 -; _utime64 @551 -; _vscprintf @552 -; _vscwprintf @553 - _vsnprintf @554 - _vsnwprintf @555 - _waccess @556 - _wasctime @557 - _wchdir @558 - _wchmod @559 - _wcmdln @560 - _wcreat @561 - _wcsdup @562 -; _wcserror @563 - _wcsicmp @564 - _wcsicoll @565 - _wcslwr @566 - _wcsncoll @567 - _wcsnicmp @568 - _wcsnicoll @569 - _wcsnset @570 - _wcsrev @571 - _wcsset @572 -; _wcstoi64 @573 -; _wcstoui64 @574 - _wcsupr @575 - _wctime @576 -; _wctime64 @577 -; _wctype @578 - _wenviron @579 DATA - _wexecl @580 - _wexecle @581 - _wexeclp @582 - _wexeclpe @583 - _wexecv @584 - _wexecve @585 - _wexecvp @586 - _wexecvpe @587 - _wfdopen @588 - _wfindfirst @589 -; _wfindfirst64 @590 - _wfindfirsti64 @591 - _wfindnext @592 -; _wfindnext64 @593 - _wfindnexti64 @594 - _wfopen @595 - _wfreopen @596 - _wfsopen @597 - _wfullpath @598 - _wgetcwd @599 - _wgetdcwd @600 - _wgetenv @601 - _winmajor @602 DATA - _winminor @603 DATA - _winver @604 DATA - _wmakepath @605 - _wmkdir @606 - _wmktemp @607 - _wopen @608 - _wperror @609 - _wpgmptr @610 DATA - _wpopen @611 - _wputenv @612 - _wremove @613 - _wrename @614 - _write @615 - _wrmdir @616 - _wsearchenv @617 - _wsetlocale @618 - _wsopen @619 - _wspawnl @620 - _wspawnle @621 - _wspawnlp @622 - _wspawnlpe @623 - _wspawnv @624 - _wspawnve @625 - _wspawnvp @626 - _wspawnvpe @627 - _wsplitpath @628 - _wstat @629 - _wstat64 @630 - _wstati64 @631 - _wstrdate @632 - _wstrtime @633 - _wsystem @634 - _wtempnam @635 - _wtmpnam @636 -; _wtof @637 - _wtoi @638 - _wtoi64 @639 - _wtol @640 - _wunlink @641 - _wutime @642 -; _wutime64 @643 - _y0 @644 - _y1 @645 - _yn @646 - abort @647 - abs @648 - acos @649 - asctime @650 - asin @651 - atan @652 - atan2 @653 - atexit @654 - atof @655 - atoi @656 - atol @657 - bsearch @658 - calloc @659 - ceil @660 - clearerr @661 - clock @662 - cos @663 - cosh @664 - ctime @665 - difftime @666 - div @667 - exit @668 - exp @669 - fabs @670 - fclose @671 - feof @672 - ferror @673 - fflush @674 - fgetc @675 - fgetpos @676 - fgets @677 - fgetwc @678 - fgetws @679 - floor @680 - fmod @681 - fopen @682 - fprintf @683 - fputc @684 - fputs @685 - fputwc @686 - fputws @687 - fread @688 - free @689 - freopen @690 - frexp @691 - fscanf @692 - fseek @693 - fsetpos @694 - ftell @695 - fwprintf @696 - fwrite @697 - fwscanf @698 - getc @699 - getchar @700 - getenv @701 - gets @702 - getwc @703 - getwchar @704 - gmtime @705 - is_wctype @706 - isalnum @707 - isalpha @708 - iscntrl @709 - isdigit @710 - isgraph @711 - isleadbyte @712 - islower @713 - isprint @714 - ispunct @715 - isspace @716 - isupper @717 - iswalnum @718 - iswalpha @719 - iswascii @720 - iswcntrl @721 - iswctype @722 - iswdigit @723 - iswgraph @724 - iswlower @725 - iswprint @726 - iswpunct @727 - iswspace @728 - iswupper @729 - iswxdigit @730 - isxdigit @731 - labs @732 - ldexp @733 - ldiv @734 - localeconv @735 - localtime @736 - log @737 - log10 @738 - longjmp @739 - malloc @740 - mblen @741 - mbstowcs @742 - mbtowc @743 - memchr @744 - memcmp @745 - memcpy @746 - memmove @747 - memset @748 - mktime @749 - modf @750 - perror @751 - pow @752 - printf @753 - putc @754 - putchar @755 - puts @756 - putwc=fputwc @757 - putwchar=_fputwchar @758 - qsort @759 - raise @760 - rand @761 - realloc @762 - remove @763 - rename @764 - rewind @765 - scanf @766 - setbuf @767 - setlocale @768 - setvbuf @769 - signal @770 - sin @771 - sinh @772 - sprintf @773 - sqrt @774 - srand @775 - sscanf @776 - strcat @777 - strchr @778 - strcmp @779 - strcoll @780 - strcpy @781 - strcspn @782 - strerror @783 - strftime @784 - strlen @785 - strncat @786 - strncmp @787 - strncpy @788 - strpbrk @789 - strrchr @790 - strspn @791 - strstr @792 - strtod @793 - strtok @794 - strtol @795 - strtoul @796 - strxfrm @797 - swprintf @798 - swscanf @799 - system @800 - tan @801 - tanh @802 - time @803 - tmpfile @804 - tmpnam @805 - tolower @806 - toupper @807 - towlower @808 - towupper @809 - ungetc @810 - ungetwc @811 - vfprintf @812 - vfwprintf @813 - vprintf @814 - vsprintf @815 - vswprintf @816 - vwprintf @817 - wcscat @818 - wcschr @819 - wcscmp @820 - wcscoll @821 - wcscpy @822 - wcscspn @823 - wcsftime @824 - wcslen @825 - wcsncat @826 - wcsncmp @827 - wcsncpy @828 - wcspbrk @829 - wcsrchr @830 - wcsspn @831 - wcsstr @832 - wcstod @833 - wcstok @834 - wcstol @835 - wcstombs @836 - wcstoul @837 - wcsxfrm @838 - wctomb @839 - wprintf @840 - wscanf @841 + ?_query_new_handler@@YAP6AHI@ZXZ=MSVCRT__query_new_handler @43 + ?_query_new_mode@@YAHXZ=MSVCRT__query_new_mode @44 + ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z=MSVCRT__set_new_handler @45 + ?_set_new_mode@@YAHH@Z=MSVCRT__set_new_mode @46 + ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z=MSVCRT__set_se_translator @47 + ?before@type_info@@QBEHABV1@@Z=__thiscall_MSVCRT_type_info_before @48 + ?name@type_info@@QBEPBDXZ=__thiscall_MSVCRT_type_info_name @49 + ?raw_name@type_info@@QBEPBDXZ=__thiscall_MSVCRT_type_info_raw_name @50 + ?set_new_handler@@YAP6AXXZP6AXXZ@Z=MSVCRT__set_new_handler @51 + ?set_terminate@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_terminate @52 + ?set_unexpected@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_unexpected @53 + ?terminate@@YAXXZ=MSVCRT_terminate @54 + ?unexpected@@YAXXZ=MSVCRT_unexpected @55 + ?what@exception@@UBEPBDXZ=__thiscall_MSVCRT_what_exception @56 + _CIacos @58 + _CIasin @59 + _CIatan @60 + _CIatan2 @61 + _CIcos @62 + _CIcosh @63 + _CIexp @64 + _CIfmod @65 + _CIlog @66 + _CIlog10 @67 + _CIpow @68 + _CIsin @69 + _CIsinh @70 + _CIsqrt @71 + _CItan @72 + _CItanh @73 + _CxxThrowException @74 + _EH_prolog @75 + _Getdays @76 + _Getmonths @77 + _Gettnames @78 + _HUGE @79 DATA + _Strftime @80 + _XcptFilter @81 + __CppXcptFilter @82 +; __CxxCallUnwindDtor @83 +; __CxxCallUnwindVecDtor @84 + __CxxDetectRethrow @85 +; __CxxExceptionFilter @86 + __CxxFrameHandler @87 +; __CxxFrameHandler2 @88 + __CxxLongjmpUnwind @89 + __CxxQueryExceptionSize @90 +; __CxxRegisterExceptionObject @91 +; __CxxUnregisterExceptionObject @92 +; __DestructExceptionObject @93 + __RTCastToVoid=MSVCRT___RTCastToVoid @94 + __RTDynamicCast=MSVCRT___RTDynamicCast @95 + __RTtypeid=MSVCRT___RTtypeid @96 + __STRINGTOLD @97 +; ___lc_codepage_func @98 +; ___lc_collate_cp_func @99 +; ___lc_handle_func @100 +; ___mb_cur_max_func @101 +; ___setlc_active_func @102 +; ___unguarded_readlc_active_add_func @103 + __argc @104 DATA + __argv @105 DATA + __badioinfo @106 DATA + __crtCompareStringA=kernel32.CompareStringA @107 + __crtCompareStringW=kernel32.CompareStringW @108 + __crtGetLocaleInfoW=kernel32.GetLocaleInfo @109 + __crtGetStringTypeW=kernel32.GetStringTypeW @110 + __crtLCMapStringA @111 +; __crtLCMapStringW @112 + __dllonexit @113 + __doserrno @114 + __fpecode @115 + __getmainargs @116 + __initenv @117 +; __iob_func @118 + __isascii @119 + __iscsym @120 + __iscsymf @121 + __lc_codepage @122 DATA + __lc_collate_cp @123 DATA + __lc_handle @124 DATA + __lconv_init @125 + __mb_cur_max @126 DATA + __p___argc @127 + __p___argv @128 + __p___initenv @129 + __p___mb_cur_max @130 + __p___wargv @131 + __p___winitenv @132 + __p__acmdln @133 + __p__amblksiz @134 + __p__commode @135 + __p__daylight @136 + __p__dstbias @137 + __p__environ @138 +; __p__fileinfo @139 + __p__fmode @140 + __p__iob @141 +; __p__mbcasemap @142 + __p__mbctype @143 + __p__osver @144 + __p__pctype @145 + __p__pgmptr @146 + __p__pwctype @147 + __p__timezone @148 + __p__tzname @149 + __p__wcmdln @150 + __p__wenviron @151 + __p__winmajor @152 + __p__winminor @153 + __p__winver @154 + __p__wpgmptr @155 +; __pctype_func @156 + __pioinfo @157 DATA +; __pwctype_func @158 + __pxcptinfoptrs @159 + __set_app_type @160 + __setlc_active @161 DATA + __setusermatherr @162 + __threadhandle @163 + __threadid @164 + __toascii @165 + __unDName @166 + __unDNameEx @167 +; __uncaught_exception @42 + __unguarded_readlc_active @168 DATA + __wargv @169 DATA +; __wcserror @170 + __wgetmainargs @171 + __winitenv @172 DATA + _abnormal_termination @173 +; _abs64 @174 + _access @175 + _acmdln @176 DATA + _adj_fdiv_m16i @177 + _adj_fdiv_m32 @178 + _adj_fdiv_m32i @179 + _adj_fdiv_m64 @180 + _adj_fdiv_r @181 + _adj_fdivr_m16i @182 + _adj_fdivr_m32 @183 + _adj_fdivr_m32i @184 + _adj_fdivr_m64 @185 + _adj_fpatan @186 + _adj_fprem @187 + _adj_fprem1 @188 + _adj_fptan @189 + _adjust_fdiv @190 DATA + _aexit_rtn @191 + _aligned_free @192 + _aligned_malloc @193 + _aligned_offset_malloc @194 + _aligned_offset_realloc @195 + _aligned_realloc @196 + _amsg_exit @197 + _assert @198 +; _atodbl @199 + _atoi64 @200 + _atoldbl @201 + _beep @202 + _beginthread @203 + _beginthreadex @204 + _c_exit @205 + _cabs @206 + _callnewh @207 + _cexit @208 + _cgets @209 +; _cgetws @210 + _chdir @211 + _chdrive @212 + _chgsign @213 + _chkesp @214 + _chmod @215 + _chsize @216 + _clearfp @217 + _close @218 + _commit @219 + _commode @220 DATA + _control87 @221 + _controlfp @222 + _copysign @223 + _cprintf @224 + _cputs @225 +; _cputws @226 + _creat @227 + _cscanf @228 +; _ctime64 @229 + _ctype @230 DATA + _cwait @231 +; _cwprintf @232 +; _cwscanf @233 + _daylight @234 DATA + _dstbias @235 DATA + _dup @236 + _dup2 @237 + _ecvt @238 + _endthread @239 + _endthreadex @240 + _environ @241 DATA + _eof @242 + _errno @243 + _except_handler2 @244 + _except_handler3 @245 + _execl @246 + _execle @247 + _execlp @248 + _execlpe @249 + _execv @250 + _execve @251 + _execvp @252 + _execvpe @253 + _exit @254 + _expand @255 + _fcloseall @256 + _fcvt @257 + _fdopen @258 + _fgetchar @259 + _fgetwchar @260 + _filbuf @261 +; _fileinfo @262 + _filelength @263 + _filelengthi64 @264 + _fileno @265 + _findclose @266 + _findfirst @267 +; _findfirst64 @268 + _findfirsti64 @269 + _findnext @270 +; _findnext64 @271 + _findnexti64 @272 + _finite @273 + _flsbuf @274 + _flushall @275 + _fmode @276 DATA + _fpclass @277 + _fpieee_flt @278 + _fpreset @279 + _fputchar @280 + _fputwchar @281 + _fsopen @282 + _fstat @283 + _fstat64 @284 + _fstati64 @285 + _ftime @286 +; _ftime64 @287 + _ftol @288 + _fullpath @289 + _futime @290 +; _futime64 @291 + _gcvt @292 +; _get_heap_handle @293 + _get_osfhandle @294 + _get_sbh_threshold @295 + _getch @296 + _getche @297 + _getcwd @298 + _getdcwd @299 + _getdiskfree @300 + _getdllprocaddr @301 + _getdrive @302 + _getdrives=kernel32.GetLogicalDrives @303 + _getmaxstdio @304 + _getmbcp @305 + _getpid=kernel32.GetCurrentProcessId @306 + _getsystime @307 + _getw @308 +; _getwch @309 +; _getwche @310 + _getws @311 + _global_unwind2 @312 +; _gmtime64 @313 + _heapadd @314 + _heapchk @315 + _heapmin @316 + _heapset @317 +; _heapused @318 + _heapwalk @319 + _hypot @320 + _i64toa @321 + _i64tow @322 + _initterm @323 +; _inp @324 +; _inpd @325 +; _inpw @326 + _iob @327 DATA + _isatty @328 + _isctype @329 + _ismbbalnum @330 + _ismbbalpha @331 + _ismbbgraph @332 + _ismbbkalnum @333 + _ismbbkana @334 +; _ismbbkprint @335 + _ismbbkpunct @336 + _ismbblead @337 + _ismbbprint @338 + _ismbbpunct @339 + _ismbbtrail @340 + _ismbcalnum @341 + _ismbcalpha @342 + _ismbcdigit @343 + _ismbcgraph @344 + _ismbchira @345 + _ismbckata @346 + _ismbcl0 @347 + _ismbcl1 @348 + _ismbcl2 @349 + _ismbclegal @350 + _ismbclower @351 + _ismbcprint @352 + _ismbcpunct @353 + _ismbcspace @354 + _ismbcsymbol @355 + _ismbcupper @356 + _ismbslead @357 + _ismbstrail @358 + _isnan @359 + _itoa @360 + _itow @361 + _j0 @362 + _j1 @363 + _jn @364 + _kbhit @365 + _lfind @366 + _loaddll @367 + _local_unwind2 @368 +; _localtime64 @369 + _lock @370 + _locking @371 + _logb @372 + _longjmpex=longjmp @373 + _lrotl @374 + _lrotr @375 + _lsearch @376 + _lseek @377 + _lseeki64 @378 + _ltoa @379 + _ltow @380 + _makepath @381 + _mbbtombc @382 + _mbbtype @383 +; _mbcasemap @384 + _mbccpy @385 + _mbcjistojms @386 + _mbcjmstojis @387 + _mbclen @388 + _mbctohira @389 + _mbctokata @390 + _mbctolower @391 + _mbctombb @392 + _mbctoupper @393 + _mbctype @394 DATA + _mbsbtype @395 + _mbscat @396 + _mbschr @397 + _mbscmp @398 + _mbscoll @399 + _mbscpy @400 + _mbscspn @401 + _mbsdec @402 + _mbsdup @403 + _mbsicmp @404 + _mbsicoll @405 + _mbsinc @406 + _mbslen @407 + _mbslwr @408 + _mbsnbcat @409 + _mbsnbcmp @410 + _mbsnbcnt @411 + _mbsnbcoll @412 + _mbsnbcpy @413 + _mbsnbicmp @414 + _mbsnbicoll @415 + _mbsnbset @416 + _mbsncat @417 + _mbsnccnt @418 + _mbsncmp @419 + _mbsncoll @420 + _mbsncpy @421 + _mbsnextc @422 + _mbsnicmp @423 + _mbsnicoll @424 + _mbsninc @425 + _mbsnset @426 + _mbspbrk @427 + _mbsrchr @428 + _mbsrev @429 + _mbsset @430 + _mbsspn @431 + _mbsspnp @432 + _mbsstr @433 + _mbstok @434 + _mbstrlen @435 + _mbsupr @436 + _memccpy @437 + _memicmp @438 + _mkdir @439 +; _mkgmtime @440 +; _mkgmtime64 @441 + _mktemp @442 +; _mktime64 @443 + _msize @444 + _nextafter @445 + _onexit @446 + _open @447 + _open_osfhandle @448 +; _osplatform @449 + _osver @450 DATA +; _outp @451 +; _outpd @452 +; _outpw @453 + _pclose @454 + _pctype @455 DATA + _pgmptr @456 DATA + _pipe @457 + _popen @458 + _purecall @459 + _putch @460 + _putenv @461 + _putw @462 +; _putwch @463 + _putws @464 + _pwctype @465 + _read @466 +; _resetstkoflw @467 + _rmdir @468 + _rmtmp @469 + _rotl @470 +; _rotl64 @471 + _rotr @472 +; _rotr64 @473 + _safe_fdiv @474 + _safe_fdivr @475 + _safe_fprem @476 + _safe_fprem1 @477 + _scalb @478 +; _scprintf @479 +; _scwprintf @480 + _searchenv @481 + _seh_longjmp_unwind=_seh_longjmp_unwind@4 @482 +; _set_SSE2_enable @483 + _set_error_mode @484 + _set_sbh_threshold @485 + _seterrormode @486 + _setjmp @487 + _setjmp3 @488 + _setmaxstdio @489 + _setmbcp @490 + _setmode @491 + _setsystime @492 + _sleep @493 + _snprintf @494 +; _snscanf @495 + _snwprintf @496 +; _snwscanf @497 + _sopen @498 + _spawnl @499 + _spawnle @500 + _spawnlp @501 + _spawnlpe @502 + _spawnv @503 + _spawnve @504 + _spawnvp @505 + _spawnvpe @506 + _splitpath @507 + _stat @508 + _stat64 @509 + _stati64 @510 + _statusfp @511 + _strcmpi @512 + _strdate @513 + _strdup @514 + _strerror @515 + _stricmp @516 + _stricoll @517 + _strlwr @518 + _strncoll @519 + _strnicmp @520 + _strnicoll @521 + _strnset @522 + _strrev @523 + _strset @524 + _strtime @525 +; _strtoi64 @526 + _strtoui64=strtoull @527 + _strupr @528 + _swab @529 + _sys_errlist @530 DATA + _sys_nerr @531 DATA + _tell @532 + _telli64 @533 + _tempnam @534 +; _time64 @535 + _timezone @536 DATA + _tolower @537 + _toupper @538 + _tzname @539 DATA + _tzset @540 + _ui64toa @541 + _ui64tow @542 + _ultoa @543 + _ultow @544 + _umask @545 + _ungetch @546 +; _ungetwch @547 + _unlink @548 + _unloaddll @549 + _unlock @550 + _utime @551 +; _utime64 @552 +; _vscprintf @553 +; _vscwprintf @554 + _vsnprintf @555 + _vsnwprintf @556 + _waccess @557 + _wasctime @558 + _wchdir @559 + _wchmod @560 + _wcmdln @561 + _wcreat @562 + _wcsdup @563 +; _wcserror @564 + _wcsicmp @565 + _wcsicoll @566 + _wcslwr @567 + _wcsncoll @568 + _wcsnicmp @569 + _wcsnicoll @570 + _wcsnset @571 + _wcsrev @572 + _wcsset @573 +; _wcstoi64 @574 +; _wcstoui64 @575 + _wcsupr @576 + _wctime @577 +; _wctime64 @578 +; _wctype @579 + _wenviron @580 DATA + _wexecl @581 + _wexecle @582 + _wexeclp @583 + _wexeclpe @584 + _wexecv @585 + _wexecve @586 + _wexecvp @587 + _wexecvpe @588 + _wfdopen @589 + _wfindfirst @590 +; _wfindfirst64 @591 + _wfindfirsti64 @592 + _wfindnext @593 +; _wfindnext64 @594 + _wfindnexti64 @595 + _wfopen @596 + _wfreopen @597 + _wfsopen @598 + _wfullpath @599 + _wgetcwd @600 + _wgetdcwd @601 + _wgetenv @602 + _winmajor @603 DATA + _winminor @604 DATA + _winver @605 DATA + _wmakepath @606 + _wmkdir @607 + _wmktemp @608 + _wopen @609 + _wperror @610 + _wpgmptr @611 DATA + _wpopen @612 + _wputenv @613 + _wremove @614 + _wrename @615 + _write @616 + _wrmdir @617 + _wsearchenv @618 + _wsetlocale @619 + _wsopen @620 + _wspawnl @621 + _wspawnle @622 + _wspawnlp @623 + _wspawnlpe @624 + _wspawnv @625 + _wspawnve @626 + _wspawnvp @627 + _wspawnvpe @628 + _wsplitpath @629 + _wstat @630 + _wstat64 @631 + _wstati64 @632 + _wstrdate @633 + _wstrtime @634 + _wsystem @635 + _wtempnam @636 + _wtmpnam @637 +; _wtof @638 + _wtoi @639 + _wtoi64 @640 + _wtol @641 + _wunlink @642 + _wutime @643 +; _wutime64 @644 + _y0 @645 + _y1 @646 + _yn @647 + abort @648 + abs @649 + acos @650 + asctime @651 + asin @652 + atan @653 + atan2 @654 + atexit @655 + atof @656 + atoi @657 + atol @658 + bsearch @659 + calloc @660 + ceil @661 + clearerr @662 + clock @663 + cos @664 + cosh @665 + ctime @666 + difftime @667 + div @668 + exit @669 + exp @670 + fabs @671 + fclose @672 + feof @673 + ferror @674 + fflush @675 + fgetc @676 + fgetpos @677 + fgets @678 + fgetwc @679 + fgetws @680 + floor @681 + fmod @682 + fopen @683 + fprintf @684 + fputc @685 + fputs @686 + fputwc @687 + fputws @688 + fread @689 + free @690 + freopen @691 + frexp @692 + fscanf @693 + fseek @694 + fsetpos @695 + ftell @696 + fwprintf @697 + fwrite @698 + fwscanf @699 + getc @700 + getchar @701 + getenv @702 + gets @703 + getwc @704 + getwchar @705 + gmtime @706 + is_wctype @707 + isalnum @708 + isalpha @709 + iscntrl @710 + isdigit @711 + isgraph @712 + isleadbyte @713 + islower @714 + isprint @715 + ispunct @716 + isspace @717 + isupper @718 + iswalnum @719 + iswalpha @720 + iswascii @721 + iswcntrl @722 + iswctype @723 + iswdigit @724 + iswgraph @725 + iswlower @726 + iswprint @727 + iswpunct @728 + iswspace @729 + iswupper @730 + iswxdigit @731 + isxdigit @732 + labs @733 + ldexp @734 + ldiv @735 + localeconv @736 + localtime @737 + log @738 + log10 @739 + longjmp @740 + malloc @741 + mblen @742 + mbstowcs @743 + mbtowc @744 + memchr @745 + memcmp @746 + memcpy @747 + memmove @748 + memset @749 + mktime @750 + modf @751 + perror @752 + pow @753 + printf @754 + putc @755 + putchar @756 + puts @757 + putwc=fputwc @758 + putwchar=_fputwchar @759 + qsort @760 + raise @761 + rand @762 + realloc @763 + remove @764 + rename @765 + rewind @766 + scanf @767 + setbuf @768 + setlocale @769 + setvbuf @770 + signal @771 + sin @772 + sinh @773 + sprintf @774 + sqrt @775 + srand @776 + sscanf @777 + strcat @778 + strchr @779 + strcmp @780 + strcoll @781 + strcpy @782 + strcspn @783 + strerror @784 + strftime @785 + strlen @786 + strncat @787 + strncmp @788 + strncpy @789 + strpbrk @790 + strrchr @791 + strspn @792 + strstr @793 + strtod @794 + strtok @795 + strtol @796 + strtoul @797 + strxfrm @798 + swprintf @799 + swscanf @800 + system @801 + tan @802 + tanh @803 + time @804 + tmpfile @805 + tmpnam @806 + tolower @807 + toupper @808 + towlower @809 + towupper @810 + ungetc @811 + ungetwc @812 + vfprintf @813 + vfwprintf @814 + vprintf @815 + vsprintf @816 + vswprintf @817 + vwprintf @818 + wcscat @819 + wcschr @820 + wcscmp @821 + wcscoll @822 + wcscpy @823 + wcscspn @824 + wcsftime @825 + wcslen @826 + wcsncat @827 + wcsncmp @828 + wcsncpy @829 + wcspbrk @830 + wcsrchr @831 + wcsspn @832 + wcsstr @833 + wcstod @834 + wcstok @835 + wcstol @836 + wcstombs @837 + wcstoul @838 + wcsxfrm @839 + wctomb @840 + wprintf @841 + wscanf @842
16 years, 5 months
1
0
0
0
[gedmurphy] 34410: Check for correct access right when deleting services Patch by bugboy <martinmnet at hotmail dot com> See issue #3474 for more details.
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Thu Jul 10 06:45:06 2008 New Revision: 34410 URL:
http://svn.reactos.org/svn/reactos?rev=34410&view=rev
Log: Check for correct access right when deleting services Patch by bugboy <martinmnet at hotmail dot com> See issue #3474 for more details. Modified: trunk/reactos/base/system/services/rpcserver.c Modified: trunk/reactos/base/system/services/rpcserver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/rpcse…
============================================================================== --- trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] (original) +++ trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] Thu Jul 10 06:45:06 2008 @@ -395,7 +395,7 @@ return ERROR_INVALID_HANDLE; if (!RtlAreAllAccessesGranted(hSvc->Handle.DesiredAccess, - STANDARD_RIGHTS_REQUIRED)) + DELETE)) return ERROR_ACCESS_DENIED; lpService = hSvc->ServiceEntry;
16 years, 5 months
1
0
0
0
← Newer
1
...
55
56
57
58
59
60
61
...
77
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Results per page:
10
25
50
100
200