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 2011
----- 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
19 participants
296 discussions
Start a n
N
ew thread
[nyadav] 51433: Add Audio Server Headers
by nyadav@svn.reactos.org
Author: nyadav Date: Fri Apr 22 17:27:40 2011 New Revision: 51433 URL:
http://svn.reactos.org/svn/reactos?rev=51433&view=rev
Log: Add Audio Server Headers Added: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/ (with props) branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/audiosrv.h (with props) Propchange: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Fri Apr 22 17:27:40 2011 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) Propchange: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details. Propchange: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/ ------------------------------------------------------------------------------ bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/ ------------------------------------------------------------------------------ tsvn:logminsize = 10 Added: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/audiosrv.h URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/include/rea…
============================================================================== --- branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/audiosrv.h (added) +++ branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/audiosrv.h [iso-8859-1] Fri Apr 22 17:27:40 2011 @@ -1,0 +1,47 @@ +#include <windows.h> +#include <memory.h> + +#ifndef _PORTINTERFACE_H +#define _PORTINTERFACE_H + +#define MIXER getmixerengine() + +typedef struct PortStream +{ + int volume; + double freq; + int channels; + int bitspersample; + DWORD channelmask; + HANDLE thread; + struct PortStream * next; +} PortStream; + +typedef struct MixerEngine +{ + int mastervolume; + int mute; + char dead; + double masterfreq; + int masterchannels; + DWORD masterchannelmask; + int masterbitspersample; + int workingbuffer; + PSHORT masterdoublebuf[2]; + HANDLE mixerthread; + HANDLE playerthread; + HANDLE EventPool[2];//0=Played,1=Ready + PortStream * portstream; +} MixerEngine; + +#ifdef __cplusplus +extern "C" { +#endif + +__declspec(dllexport) MixerEngine * getmixerengine(); + +#ifdef __cplusplus +} +#endif + +#endif Propchange: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/audiosrv.h ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/include/reactos/libs/audiosrv2/audiosrv.h ------------------------------------------------------------------------------ svn:mime-type = text/plain
13 years, 8 months
1
0
0
0
[nyadav] 51432: Add audiosrv2dll
by nyadav@svn.reactos.org
Author: nyadav Date: Fri Apr 22 17:24:36 2011 New Revision: 51432 URL:
http://svn.reactos.org/svn/reactos?rev=51432&view=rev
Log: Add audiosrv2dll Added: branches/nyadav-audio-branch/dll/win32/audiosrv2/ (with props) branches/nyadav-audio-branch/dll/win32/audiosrv2/CMakeLists.txt (with props) branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv.cpp (with props) branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv2dll.spec (with props) branches/nyadav-audio-branch/dll/win32/audiosrv2/dllmain.cpp (with props) Modified: branches/nyadav-audio-branch/dll/win32/CMakeLists.txt Modified: branches/nyadav-audio-branch/dll/win32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/dll/win32/C…
============================================================================== --- branches/nyadav-audio-branch/dll/win32/CMakeLists.txt [iso-8859-1] (original) +++ branches/nyadav-audio-branch/dll/win32/CMakeLists.txt [iso-8859-1] Fri Apr 22 17:24:36 2011 @@ -7,6 +7,7 @@ add_subdirectory(advpack) add_subdirectory(atl) add_subdirectory(authz) +add_subdirectory(audiosrv2) add_subdirectory(avicap32) add_subdirectory(avifil32) add_subdirectory(batt) Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Fri Apr 22 17:24:36 2011 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details. Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/ ------------------------------------------------------------------------------ bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/ ------------------------------------------------------------------------------ tsvn:logminsize = 10 Added: branches/nyadav-audio-branch/dll/win32/audiosrv2/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/dll/win32/a…
============================================================================== --- branches/nyadav-audio-branch/dll/win32/audiosrv2/CMakeLists.txt (added) +++ branches/nyadav-audio-branch/dll/win32/audiosrv2/CMakeLists.txt [iso-8859-1] Fri Apr 22 17:24:36 2011 @@ -1,0 +1,16 @@ +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/audiosrv2) + +spec2def(audiosrv2dll.dll audiosrv2dll.spec) + +list(APPEND SOURCE + dllmain.cpp + audiosrv.cpp + ${CMAKE_CURRENT_BINARY_DIR}/audiosrv2dll.def) + +add_library(audiosrv2dll SHARED ${SOURCE}) +set_entrypoint(audiosrv2dll 0) +set_module_type(audiosrv2dll win32dll) + +target_link_libraries(audiosrv2dll uuid wine) +add_importlibs(audiosrv2dll ole32 oleaut32 user32 advapi32 msvcrt kernel32 ntdll) +add_cab_target(audiosrv2dll 1) Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/CMakeLists.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv.cpp URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/dll/win32/a…
============================================================================== --- branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv.cpp (added) +++ branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv.cpp [iso-8859-1] Fri Apr 22 17:24:36 2011 @@ -1,0 +1,13 @@ +#include <audiosrv.h> + +#ifdef __cplusplus +extern "C" { +#endif + +void dummy() +{ +} + +#ifdef __cplusplus +} +#endif Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv.cpp ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv.cpp ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv2dll.spec URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/dll/win32/a…
============================================================================== --- branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv2dll.spec (added) +++ branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv2dll.spec [iso-8859-1] Fri Apr 22 17:24:36 2011 @@ -1,0 +1,1 @@ +@ stdcall getmixerengine() Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv2dll.spec ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/audiosrv2dll.spec ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: branches/nyadav-audio-branch/dll/win32/audiosrv2/dllmain.cpp URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/dll/win32/a…
============================================================================== --- branches/nyadav-audio-branch/dll/win32/audiosrv2/dllmain.cpp (added) +++ branches/nyadav-audio-branch/dll/win32/audiosrv2/dllmain.cpp [iso-8859-1] Fri Apr 22 17:24:36 2011 @@ -1,0 +1,68 @@ + +#include <audiosrv.h> + +static MixerEngine * lpvMem = NULL; +static HANDLE hMapObject = NULL; + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ +BOOL fInit, fIgnore; + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + hMapObject = CreateFileMapping( + INVALID_HANDLE_VALUE, // use paging file + NULL, // default security attributes + PAGE_READWRITE, // read/write access + 0, // size: high 32-bits + sizeof(MixerEngine),TEXT("MixerEngine")); // size: low 32-bits + if (hMapObject == NULL) + return FALSE; + + fInit = (GetLastError() != ERROR_ALREADY_EXISTS); + + lpvMem = (MixerEngine *)MapViewOfFile( + hMapObject, // object to map view of + FILE_MAP_WRITE, // read/write access + 0, // high offset: map from + 0, // low offset: beginning + 0); // default: map entire file + if (lpvMem == NULL) + return FALSE; + + if (fInit) + lpvMem->dead=0; + lpvMem->masterchannels=0; + lpvMem->masterbitspersample=0; + lpvMem->masterchannelmask=0; + lpvMem->masterdoublebuf[0]=NULL; + lpvMem->masterdoublebuf[1]=NULL; + lpvMem->masterfreq=0; + lpvMem->mastervolume=0; + lpvMem->mute=0; + lpvMem->portstream=NULL; + lpvMem->workingbuffer=0; + lpvMem->mixerthread=NULL; + lpvMem->playerthread=NULL; + lpvMem->EventPool[0]=CreateEvent(NULL,FALSE,FALSE,NULL); + lpvMem->EventPool[1]=CreateEvent(NULL,FALSE,FALSE,NULL); + + break; + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + break; + case DLL_PROCESS_DETACH: + fIgnore = UnmapViewOfFile(lpvMem); + fIgnore = CloseHandle(hMapObject); + break; + } + return TRUE; +} + +__declspec(dllexport) MixerEngine * getmixerengine() +{ +return lpvMem; +} Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/dllmain.cpp ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/dll/win32/audiosrv2/dllmain.cpp ------------------------------------------------------------------------------ svn:mime-type = text/plain
13 years, 8 months
1
0
0
0
[nyadav] 51431: Add audiosrv2exe
by nyadav@svn.reactos.org
Author: nyadav Date: Fri Apr 22 17:19:48 2011 New Revision: 51431 URL:
http://svn.reactos.org/svn/reactos?rev=51431&view=rev
Log: Add audiosrv2exe Added: branches/nyadav-audio-branch/base/services/audiosrv2/ (with props) branches/nyadav-audio-branch/base/services/audiosrv2/CMakeLists.txt (with props) branches/nyadav-audio-branch/base/services/audiosrv2/audiosrv.c (with props) Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Fri Apr 22 17:19:48 2011 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details. Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/ ------------------------------------------------------------------------------ bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/ ------------------------------------------------------------------------------ tsvn:logminsize = 10 Added: branches/nyadav-audio-branch/base/services/audiosrv2/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/base/servic…
============================================================================== --- branches/nyadav-audio-branch/base/services/audiosrv2/CMakeLists.txt (added) +++ branches/nyadav-audio-branch/base/services/audiosrv2/CMakeLists.txt [iso-8859-1] Fri Apr 22 17:19:48 2011 @@ -1,0 +1,10 @@ +set_unicode(audiosrv2exe yes) + + + +add_executable(audiosrv2exe + audiosrv.c) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/audiosrv2) +set_module_type(audiosrv2exe win32cui) +add_importlibs(audiosrv2exe audiosrv2dll advapi32 user32 ksuser setupapi msvcrt kernel32) +add_cab_target(audiosrv2exe 1) Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/CMakeLists.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: branches/nyadav-audio-branch/base/services/audiosrv2/audiosrv.c URL:
http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/base/servic…
============================================================================== --- branches/nyadav-audio-branch/base/services/audiosrv2/audiosrv.c (added) +++ branches/nyadav-audio-branch/base/services/audiosrv2/audiosrv.c [iso-8859-1] Fri Apr 22 17:19:48 2011 @@ -1,0 +1,301 @@ +#define _UNICODE +#define UNICODE +#define WIN32_NO_STATUS +#define _KSDDK_ + +#include <windows.h> +#include <mmsystem.h> +#include <stdio.h> +#include <math.h> +#include <setupapi.h> +#include <ndk/ntndk.h> +#include <ks.h> +#include <ksmedia.h> +#include <audiosrv.h> +#define _2pi 6.283185307179586476925286766559 + + + +#include <ks.h> + + +GUID CategoryGuid = {STATIC_KSCATEGORY_AUDIO}; + + +const GUID KSPROPSETID_Pin = {0x8C134960L, 0x51AD, 0x11CF, {0x87, 0x8A, 0x94, 0xF8, 0x01, 0xC1, 0x00, 0x00}}; +const GUID KSPROPSETID_Connection = {0x1D58C920L, 0xAC9B, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}}; +const GUID KSPROPSETID_Sysaudio = {0xCBE3FAA0L, 0xCC75, 0x11D0, {0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6}}; +const GUID KSPROPSETID_General = {0x1464EDA5L, 0x6A8F, 0x11D1, {0x9A, 0xA7, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}}; +const GUID KSINTERFACESETID_Standard = {0x1A8766A0L, 0x62CE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}}; +const GUID KSMEDIUMSETID_Standard = {0x4747B320L, 0x62CE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}}; +const GUID KSDATAFORMAT_TYPE_AUDIO = {0x73647561L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}}; +const GUID KSDATAFORMAT_SUBTYPE_PCM = {0x00000001L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}}; +const GUID KSDATAFORMAT_SPECIFIER_WAVEFORMATEX = {0x05589f81L, 0xc356, 0x11ce, {0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a}}; + +void fill(MixerEngine * mixer) +{ + DWORD Length = mixer->masterfreq * mixer->masterchannels * mixer->masterbitspersample / 8; + UINT i = 0; + mixer->masterchannels=2; + mixer->masterfreq=48000; + mixer->masterbitspersample=16; + mixer->masterchannelmask = KSAUDIO_SPEAKER_STEREO; + mixer->masterdoublebuf[0] = (PSHORT)HeapAlloc(GetProcessHeap(), 0, Length); + while (i < Length / 2) + { + mixer->masterdoublebuf[0][i] = 0x7FFF * sin(0.5 * (i - 1) * 500 * _2pi / 48000); + i++; + mixer->masterdoublebuf[0][i] = 0x7FFF * sin((0.5 * i - 2) * 500 * _2pi / 48000); + i++; + } +} + +void Playbuffer(MixerEngine * mixer) +{ + SP_DEVICE_INTERFACE_DATA InterfaceData; + SP_DEVINFO_DATA DeviceData; + PSP_DEVICE_INTERFACE_DETAIL_DATA DetailData; + HDEVINFO DeviceHandle; + PKSDATAFORMAT DataFormat; + PWAVEFORMATEXTENSIBLE WaveFormat; + PKSPIN_CONNECT PinConnect; + PKSSTREAM_HEADER Packet; + PKSPROPERTY Property; + KSSTATE State; + DWORD Length; + HANDLE FilterHandle; + HANDLE PinHandle; + PSHORT SoundBuffer; + BOOL Result; + NTSTATUS Status; + + + // + // Get a handle to KS Audio Interfaces + // + DeviceHandle = SetupDiGetClassDevs(&CategoryGuid, + NULL, + NULL, + DIGCF_DEVICEINTERFACE |DIGCF_PRESENT); + + printf("DeviceHandle %p\n", DeviceHandle); + + // + // Enumerate the first interface + // + InterfaceData.cbSize = sizeof(InterfaceData); + InterfaceData.Reserved = 0; + Result = SetupDiEnumDeviceInterfaces(DeviceHandle, + NULL, + &CategoryGuid, + 1, + &InterfaceData); + + printf("SetupDiEnumDeviceInterfaces %u Error %ld\n", Result, GetLastError()); + + // + // Get the interface details (namely the device path) + // + Length = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA) + MAX_PATH * sizeof(WCHAR); + DetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + Length); + DetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA); + DeviceData.cbSize = sizeof(DeviceData); + DeviceData.Reserved = 0; + Result = SetupDiGetDeviceInterfaceDetail(DeviceHandle, + &InterfaceData, + DetailData, + Length, + NULL, + &DeviceData); + + wprintf(L"SetupDiGetDeviceInterfaceDetail %u Path DetailData %s\n", Result, (LPWSTR)&DetailData->DevicePath[0]); + + // + // Open a handle to the device + // + FilterHandle = CreateFile(DetailData->DevicePath, + GENERIC_READ | GENERIC_WRITE, + 0, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL); + + printf("Handle %p\n", FilterHandle); + + // + // Close the interface handle and clean up + // + //SetupDiDestroyDeviceInfoList(DeviceHandle); + + // + // Allocate a KS Pin Connection Request Structure + // + Length = sizeof(KSPIN_CONNECT) + sizeof(KSDATAFORMAT_WAVEFORMATEX) + sizeof(WAVEFORMATEXTENSIBLE)-sizeof(WAVEFORMATEX); + PinConnect = (PKSPIN_CONNECT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Length); + DataFormat = (PKSDATAFORMAT)(PinConnect + 1); + WaveFormat = (PWAVEFORMATEXTENSIBLE)(DataFormat + 1); + + // + // Setup the KS Pin Data + // + + PinConnect->Interface.Set = KSINTERFACESETID_Standard; + PinConnect->Interface.Id = KSINTERFACE_STANDARD_STREAMING; + PinConnect->Interface.Flags = 0; + PinConnect->Medium.Set = KSMEDIUMSETID_Standard; + PinConnect->Medium.Id = KSMEDIUM_TYPE_ANYINSTANCE; + PinConnect->Medium.Flags = 0; + PinConnect->PinId = 0; + PinConnect->PinToHandle = NULL; + PinConnect->Priority.PriorityClass = KSPRIORITY_NORMAL; + PinConnect->Priority.PrioritySubClass = 1; + + // + // Setup the KS Data Format Information + // + printf("DataFormat %p %p\n", DataFormat,(PVOID)((((ULONG_PTR)DataFormat + 7)) & ~7)); + + DataFormat->Flags = 0; + DataFormat->Reserved = 0; + DataFormat->MajorFormat = KSDATAFORMAT_TYPE_AUDIO; + DataFormat->SubFormat = KSDATAFORMAT_SUBTYPE_PCM; + DataFormat->Specifier = KSDATAFORMAT_SPECIFIER_WAVEFORMATEX; + DataFormat->SampleSize = mixer->masterchannels * mixer->masterbitspersample / 8; + DataFormat->FormatSize = sizeof(KSDATAFORMAT) + sizeof(WAVEFORMATEXTENSIBLE); + + WaveFormat->Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE; + WaveFormat->Format.nChannels = mixer->masterchannels; + WaveFormat->Format.nSamplesPerSec = mixer->masterfreq; + WaveFormat->Format.nBlockAlign = (mixer->masterchannels * mixer->masterbitspersample)/8;; + WaveFormat->Format.nAvgBytesPerSec = WaveFormat->Format.nSamplesPerSec * WaveFormat->Format.nBlockAlign; + WaveFormat->Format.wBitsPerSample = mixer->masterbitspersample; + WaveFormat->Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX); + WaveFormat->dwChannelMask = mixer->masterchannelmask; + WaveFormat->Samples.wValidBitsPerSample = mixer->masterbitspersample; + WaveFormat->SubFormat = KSDATAFORMAT_SUBTYPE_PCM; + + printf("Creating pin\n"); + + // + // Create the pin + // + Status = KsCreatePin(FilterHandle, PinConnect, GENERIC_READ|GENERIC_WRITE, &PinHandle); + + printf("PinHandle %p Status %lx\n", PinHandle, Status); + + + Length = mixer->masterfreq * mixer->masterchannels * mixer->masterbitspersample / 8; + // + // Create and fill out the KS Stream Packet + // + Packet = (PKSSTREAM_HEADER)HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + sizeof(KSSTREAM_HEADER)); + Packet->Data = mixer->masterdoublebuf[0]; + Packet->FrameExtent = Length; + Packet->DataUsed = Length; + Packet->Size = sizeof(KSSTREAM_HEADER); + Packet->PresentationTime.Numerator = 1; + Packet->PresentationTime.Denominator = 1; + + // + // Setup a KS Property to change the state + // + Property = (PKSPROPERTY)HeapAlloc(GetProcessHeap(), 0, sizeof(KSPROPERTY)); + Property->Set = KSPROPSETID_Connection; + Property->Id = KSPROPERTY_CONNECTION_STATE; + Property->Flags = KSPROPERTY_TYPE_SET; + + // + // Change the state to run + // + State = KSSTATE_RUN; + DeviceIoControl(PinHandle, + IOCTL_KS_PROPERTY, + Property, + sizeof(KSPROPERTY), + &State, + sizeof(State), + &Length, + NULL); + + // + // Play our 1-second buffer + // + DeviceIoControl(PinHandle, + IOCTL_KS_WRITE_STREAM, + NULL, + 0, + Packet, + Packet->Size, + &Length, + NULL); + + // + // Change the state to stop + // + State = KSSTATE_STOP; + DeviceIoControl(PinHandle, + IOCTL_KS_PROPERTY, + Property, + sizeof(KSPROPERTY), + &State, + sizeof(State), + &Length, + NULL); + + CloseHandle(PinHandle); + CloseHandle(FilterHandle); + +} +DWORD WINAPI RunMixerThread(LPVOID param) +{ + MixerEngine * mixer = (MixerEngine *) param; + SetEvent(mixer->EventPool[0]); + while(1) + { + while(WaitForSingleObject(mixer->EventPool[0],100)!=0){if(mixer->dead)goto DEAD;} + fill(mixer); + SetEvent(mixer->EventPool[1]); + } +DEAD: + printf("Mixer Thread Ended\n"); + return 0; +} +DWORD WINAPI RunPlayerThread(LPVOID param) +{ + MixerEngine * mixer = (MixerEngine *) param; + while(1) + { + while(WaitForSingleObject(mixer->EventPool[0],100)!=0){if(mixer->dead)goto DEAD;} + Playbuffer(mixer); + SetEvent(mixer->EventPool[0]); + } +DEAD: + printf("Player Thread Ended\n"); + return 0; +} +void SpawnMixerThread(MixerEngine * mixer) +{ + DWORD dwID; + mixer->mixerthread=CreateThread(NULL,0,RunMixerThread,MIXER,0,&dwID); +} +void SpawnPlayerThread(MixerEngine * mixer) +{ + DWORD dwID; + mixer->playerthread=CreateThread(NULL,0,RunPlayerThread,MIXER,0,&dwID); +} + +int +__cdecl +wmain(int argc, char* argv[]) +{ + SpawnMixerThread(MIXER); + SpawnPlayerThread(MIXER); + WaitForSingleObject(MIXER->mixerthread,INFINITE); + WaitForSingleObject(MIXER->playerthread,INFINITE); + return 0; +} Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/audiosrv.c ------------------------------------------------------------------------------ svn:eol-style = native Propchange: branches/nyadav-audio-branch/base/services/audiosrv2/audiosrv.c ------------------------------------------------------------------------------ svn:mime-type = text/plain
13 years, 8 months
1
0
0
0
[nyadav] 51430: Rearranging
by nyadav@svn.reactos.org
Author: nyadav Date: Fri Apr 22 17:10:38 2011 New Revision: 51430 URL:
http://svn.reactos.org/svn/reactos?rev=51430&view=rev
Log: Rearranging Removed: branches/nyadav-audio-branch/base/services/audiosrv2/
13 years, 8 months
1
0
0
0
[ekohl] 51429: [SERVICES] RChangeServiceConfig2W: Use the error code of a call to RegSetValueExW.
by ekohl@svn.reactos.org
Author: ekohl Date: Fri Apr 22 15:18:31 2011 New Revision: 51429 URL:
http://svn.reactos.org/svn/reactos?rev=51429&view=rev
Log: [SERVICES] RChangeServiceConfig2W: Use the error code of a call to RegSetValueExW. 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] Fri Apr 22 15:18:31 2011 @@ -4508,13 +4508,12 @@ lpServiceDescription->lpDescription != NULL) { DPRINT("Setting value %S\n", lpServiceDescription->lpDescription); - RegSetValueExW(hServiceKey, - L"Description", - 0, - REG_SZ, - (LPBYTE)lpServiceDescription->lpDescription, - (wcslen(lpServiceDescription->lpDescription) + 1) * sizeof(WCHAR)); - + dwError = RegSetValueExW(hServiceKey, + L"Description", + 0, + REG_SZ, + (LPBYTE)lpServiceDescription->lpDescription, + (wcslen(lpServiceDescription->lpDescription) + 1) * sizeof(WCHAR)); if (dwError != ERROR_SUCCESS) goto done; }
13 years, 8 months
1
0
0
0
[akhaldi] 51428: [NETID] * Use EDITTEXT instead of LTEXT. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> See issue #6129 for more details.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 22 14:23:49 2011 New Revision: 51428 URL:
http://svn.reactos.org/svn/reactos?rev=51428&view=rev
Log: [NETID] * Use EDITTEXT instead of LTEXT. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> See issue #6129 for more details. Modified: trunk/reactos/dll/win32/netid/lang/bg-BG.rc trunk/reactos/dll/win32/netid/lang/cs-CZ.rc trunk/reactos/dll/win32/netid/lang/de-DE.rc trunk/reactos/dll/win32/netid/lang/el-GR.rc trunk/reactos/dll/win32/netid/lang/en-US.rc trunk/reactos/dll/win32/netid/lang/es-ES.rc trunk/reactos/dll/win32/netid/lang/fr-FR.rc trunk/reactos/dll/win32/netid/lang/id-ID.rc trunk/reactos/dll/win32/netid/lang/it-IT.rc trunk/reactos/dll/win32/netid/lang/ja-JP.rc trunk/reactos/dll/win32/netid/lang/nl-NL.rc trunk/reactos/dll/win32/netid/lang/no-NO.rc trunk/reactos/dll/win32/netid/lang/pl-PL.rc trunk/reactos/dll/win32/netid/lang/ru-RU.rc trunk/reactos/dll/win32/netid/lang/sk-SK.rc trunk/reactos/dll/win32/netid/lang/uk-UA.rc Modified: trunk/reactos/dll/win32/netid/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/bg-BG…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/bg-BG.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Îïèñàíèå íà êîìïþòúðà:", IDC_STATIC, 6, 40, 90, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Öÿëîòî èìå íà êîìïþòúðà:", IDC_STATIC, 6, 68, 94, 9 - LTEXT "(Ïîäðàçáèðàíî)", IDC_COMPUTERNAME, 100, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Ðàáîòíà ãðóïà:", IDC_WORKGROUPDOMAIN, 6, 84, 94, 9 - LTEXT "(Ïðàçíî)", IDC_WORKGROUPDOMAIN_NAME, 100, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Çà âúëøåáíèêà çà ìðåæîâî îïîçíàâàíå è ñúçäàâàíå íà ìåñòåí ïîòðåáèòåë, íàòèñíåòå Ìðåæîâ îïîçíàâàòåë....", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&Ìðåæîâ îïîçíàâàòåë...", IDC_NETWORK_ID, 170, 114, 85, 15 LTEXT "Çà ïðåèìåíóâàíå íà êîìïþòúðà èëè ïðèñúåäèíÿâàíå êúì èìåíèå, íàòèñíåòå Ïðîìÿíà.", IDC_STATIC, 6, 149, 170, 24 Modified: trunk/reactos/dll/win32/netid/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/cs-CZ…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/cs-CZ.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -15,9 +15,9 @@ LTEXT "Popis poèítaèe:", IDC_STATIC, 6, 40, 90, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Úplný název poèítaèe:", IDC_STATIC, 6, 68, 85, 9 - LTEXT "(Implicitní)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Pracovní skupina:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(prázdné)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Kliknutím na ""Síová ID"" lze pouít Prùvodce síovou identifikací k pøipojení se k doménì a vytvoøení místního uivatele.", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "&Síová ID...", IDC_NETWORK_ID, 190, 114, 58, 15 //FIXME nic vic nez "sitova ID" se nevejde na tlacitko! LTEXT "Kliknutím na ""Zmìnit"" lze pøejmenovat tento poèítaè nebo se pøipojit k doménì.", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/de-DE…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/de-DE.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -18,9 +18,9 @@ LTEXT "Computerbeschreibung:", IDC_STATIC, 6, 40, 80, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Computername:", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(Standard)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Arbeitsgruppe:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(leer)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Um den Netzwerk-Identifikations-Assistenten zum Anmelden an einer Domäne und dem Erstellen eines lokalen Benutzers aufzurufen, klicken Sie auf ""Netzwerk-ID"".", IDC_STATIC, 6, 108, 172, 32 PUSHBUTTON "&Netzwerk-ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Um diesen Computer umzubenennen oder sich an einer Domäne anzumelden, klicken Sie auf ""Ändern"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/el-GR…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/el-GR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/el-GR.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "ÐåñéãñáöÞ õðïëïãéóôÞ:", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "ÐëÞñåò üíïìá õðïëïãéóôÞ:", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(ÐñïåðéëåãìÝíï)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "ÏìÜäá åñãáóßáò:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(Üäåéï)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Ãéá íá ÷ñçóéìïðïéÞóåôå ôï âïçèü Network Identfication ãéá íá ìðåßôå óå Ýíá domain êáé íá äçìéïõñãÞóåôå Ýíáí ôïðéêü ÷ñÞóôç, êÜíôå êëéê óôï ""Network ID"".", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&Network ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Ãéá íá ìåôïíïìÜóåôå áõôüí ôïí õðïëïãéóôÞ Þ íá óõììåôÜó÷åôå óå ìéá ïìÜäá åñãáóßáò, êÜíôå êëéê óôï êïõìðß ""ÁëëáãÞ"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/en-US…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/en-US.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Computer Description:", IDC_STATIC, 6, 40, 90, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Full computer name:", IDC_STATIC, 6, 68, 85, 9 - LTEXT "(Default)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Workgroup:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(empty)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "To use the Network Identfication Wizard to join a domain and create a local user, click ""Network ID"".", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "&Network ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "To rename this computer or join a domain, click ""Change"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/es-ES…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/es-ES.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -15,9 +15,9 @@ LTEXT "Descripción del equipo:", IDC_STATIC, 6, 40, 85, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Nombre completo del equipo:", IDC_STATIC, 6, 66, 64, 16 - LTEXT "(Defecto)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Grupo de trabajo:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(vacío)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Para usar el Asistente para identificación de red para unirse a un dominio y crear una cuenta de usuario local, haga clic en ""Id de red"".", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&Id de red...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Para cambiar el nombre de este equipo o unirse a un dominio, haga clic en ""Cambiar"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/fr-FR…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/fr-FR.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Description de l'ordinateur :", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Nom complet de l'ordinateur :", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(Défaut)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Groupe de travail :", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(Vide)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Pour utiliser l'Assistant Réseau, afin de rejoindre un domaine ou créer un utilisateur local, cliquez sur Identification Réseau.", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&Identification &réseau...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Pour changer le nom de cet ordinateur ou rejoindre un domaine, cliquez sur Changer.", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/id-ID…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/id-ID.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/id-ID.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Deskripsi Komputer:", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Nama lengkap komputer:", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(Standar)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Workgroup:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(kosong)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Untuk menggunakan Bimbingan Identifikasi Jaringan untuk bergabung dengan domain dan membuat pengguna lokal, klik ""Network ID"".", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&Network ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Untuk mengganti nama komputer ini atau bergabung dengan domain, klik ""Ubah"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/it-IT…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/it-IT.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -11,9 +11,9 @@ LTEXT "Descrizione del computer:", IDC_STATIC, 6, 37, 78, 16 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Nome esteso del computer:", IDC_STATIC, 6, 67, 78, 16 - LTEXT "(Predefinito)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Gruppo di lavoro:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(vuoto)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Per usare il wizard per la Identificazione in rete per collegarsi a un dominio e creare un utente locale, click ""Network ID"".", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&ID di rete...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Per cambiare il nome a questo computer o collegarsi a un dominio, clicca ""Modifica"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/ja-JP…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/ja-JP.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Rs [^Ìà¾:", IDC_STATIC, 6, 40, 90, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "t Rs [^¼:", IDC_STATIC, 6, 68, 85, 9 - LTEXT "(ùèl)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "[NO[v:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(ȵ)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "lbg[N ID EBU[hðgÁÄhCÖÌQÁ¨æÑ[J [U[Ìì¬ðs¤ÉÍA[lbg[N ID] ðNbNµÄ¾³¢B", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "lbg[N ID(&N)...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Rs [^¼ðÏXµ½èhCÉQÁµ½è·éÉÍ [ÏX] ðNbNµÄ¾³¢B", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/nl-NL…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/nl-NL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/nl-NL.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Computerbeschrijving:", IDC_STATIC, 6, 40, 90, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Volledige computernaam:", IDC_STATIC, 6, 68, 85, 9 - LTEXT "(Standaard)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Werkgroep:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(leeg)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Om de Netwerk Indentificatie wizard te gebruiken, word lid van een domein en maak een lokale gebruiker aan en klik op ""Network ID"".", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "&Netwerk ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Om deze computer te hernoemen of om lid te worden van een domein, klik op ""Change"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/no-NO…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/no-NO.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Beskrivelse av datamaskinen:", IDC_STATIC, 6, 40, 135, 9 EDITTEXT IDC_COMPDESC, 110, 38, 136, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Fullt datamaskinnavn:", IDC_STATIC, 6, 68, 85, 9 - LTEXT "(Standard)", IDC_COMPUTERNAME, 110, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Arbeidsgruppe:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(Tom)", IDC_WORKGROUPDOMAIN_NAME, 110, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Klikk nettverks-ID for å bruke veiviseren for nettverksidentifikasjon til å bli med i et domene og opprette en lokal brukerkonto.", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "&Nettverk-ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Klikk Endre for å gi datamaskinen et nytt navn eller bli med i et domenet.", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/pl-PL…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/pl-PL.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -18,9 +18,9 @@ LTEXT "Opis komputera:", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Pe³na nazwa komputera:", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(domylna)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Grupa robocza:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(pusta)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Aby u¿yæ Kreatora identyfikacji sieciowej do do³¹czenia do domeny i stworzyæ lokalnego u¿ytkownika, wcinij ID sieciowe.", IDC_STATIC, 6, 108, 172, 24 PUSHBUTTON "&ID sieciowe...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Aby zmieniæ nazwê tego komputera lub przy³¹czyæ siê do grupy roboczej, kliknij przycisk Zmieñ.", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/ru-RU…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/ru-RU.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -10,9 +10,9 @@ LTEXT "Îïèñàíèå:", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Ïîëíîå èìÿ:", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(Ïî óìîë÷àíèþ)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Ðàáî÷àÿ ãðóïïà:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(ïóñòî)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "×òîáû âûçâàòü ìàñòåð ñåòåâîé èäåíòèôèêàöèè äëÿ ïðèñîåäèíåíèÿ êîìïüþòåðà ê äîìåíó, íàæìèòå êíîïêó ""Èäåíòèôèêàöèÿ"".", IDC_STATIC, 6, 113, 172, 24 PUSHBUTTON "&Èäåíòèôèêàöèÿ...", IDC_NETWORK_ID, 180, 114, 72, 15 LTEXT "×òîáû èçìåíèòü èìÿ êîìïüþòåðà èëè äîìåíà íàæìèòå ""Èçìåíèòü"".", IDC_STATIC, 6, 149, 170, 17 Modified: trunk/reactos/dll/win32/netid/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/sk-SK…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/sk-SK.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -17,9 +17,9 @@ LTEXT "&Popis poèítaèa:", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Úplný názov poèítaèa:", IDC_STATIC, 6, 68, 75, 9 - LTEXT "(Predvolený)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Pracovná skupina:", IDC_WORKGROUPDOMAIN, 6, 84, 70, 9 - LTEXT "(prázdne)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Ak sa chcete pripoji pomocou Sprievodcu identifikáciou v sieti na doménu a vytvori lokálne pouívate¾ské konto, kliknite na tlaèidlo Sieová identifikácia.", IDC_STATIC, 6, 108, 160, 33 PUSHBUTTON "&Sieová identifikácia", IDC_NETWORK_ID, 176, 114, 72, 15 LTEXT "Ak chcete zmeni názov poèítaèa alebo sa pripoji na doménu, kliknite na tlaèidlo Zmeni.", IDC_STATIC, 6, 149, 160, 17 Modified: trunk/reactos/dll/win32/netid/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/uk-UA…
============================================================================== --- trunk/reactos/dll/win32/netid/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/uk-UA.rc [iso-8859-1] Fri Apr 22 14:23:49 2011 @@ -18,9 +18,9 @@ LTEXT "Îïèñ:", IDC_STATIC, 6, 40, 70, 9 EDITTEXT IDC_COMPDESC, 98, 38, 146, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Ïîâíå ³ì'ÿ:", IDC_STATIC, 6, 68, 64, 9 - LTEXT "(Çà çàìîâ÷óâàííÿì)", IDC_COMPUTERNAME, 98, 68, 144, 11 + EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Ðîáî÷à ãðóïà:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 - LTEXT "(ïîðîæíüî)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9 + EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Ùîá çàïóñòèòè ìàéñòåð ìåðåæíî¿ ³äåíòèô³êàö³¿ äëÿ ïðèºäíàííÿ äî äîìåíó òà ñòâîðåííÿ îáë³êîâîãî çàïèñó ëîêàëüíîãî êîðèñòóâà÷à, íàòèñí³òü êíîïêó ""²äåíòèô³êàö³ÿ"".", IDC_STATIC, 6, 108, 172, 32 PUSHBUTTON "²äåíòè&ô³êàö³ÿ...", IDC_NETWORK_ID, 190, 114, 60, 15 LTEXT "Ùîá ïåðåéìåíóâàòè öåé êîìï'þòåð àáî ïðèºäíàòè éîãî äî äîìåíó, íàòèñí³òü êíîïêó ""Çì³íèòè"".", IDC_STATIC, 6, 149, 170, 17
13 years, 8 months
1
0
0
0
[ekohl] 51427: [SERVICES] Lock the service database in order to protect it from concurrent access.
by ekohl@svn.reactos.org
Author: ekohl Date: Fri Apr 22 14:09:21 2011 New Revision: 51427 URL:
http://svn.reactos.org/svn/reactos?rev=51427&view=rev
Log: [SERVICES] Lock the service database in order to protect it from concurrent access. 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] Fri Apr 22 14:09:21 2011 @@ -455,12 +455,17 @@ HeapFree(GetProcessHeap(), 0, hManager); hManager = NULL; + *hSCObject = NULL; + DPRINT("RCloseServiceHandle() done\n"); return ERROR_SUCCESS; } else if (hService != NULL) { DPRINT("Found service handle\n"); + + /* Lock the service database exlusively */ + ScmLockDatabaseExclusive(); /* Get the pointer to the service record */ lpService = hService->ServiceEntry; @@ -491,6 +496,7 @@ if (dwError != ERROR_SUCCESS) { DPRINT("Failed to open services key\n"); + ScmUnlockDatabase(); return dwError; } @@ -507,6 +513,7 @@ { DPRINT("Deletion failed due to running dependencies.\n"); RegCloseKey(hServicesKey); + ScmUnlockDatabase(); return ERROR_SUCCESS; } @@ -522,6 +529,7 @@ if (dwError != ERROR_SUCCESS) { DPRINT("Failed to Delete the Service Registry key\n"); + ScmUnlockDatabase(); return dwError; } @@ -529,6 +537,10 @@ ScmDeleteServiceRecord(lpService); } } + + ScmUnlockDatabase(); + + *hSCObject = NULL; DPRINT("RCloseServiceHandle() done\n"); return ERROR_SUCCESS; @@ -755,12 +767,14 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Acquire service database lock exclusively */ + /* Lock the service database exclusively */ + ScmLockDatabaseExclusive(); if (lpService->bDeleted) { DPRINT("The service has already been marked for delete!\n"); - return ERROR_SERVICE_MARKED_FOR_DELETE; + dwError = ERROR_SERVICE_MARKED_FOR_DELETE; + goto Done; } /* Mark service for delete */ @@ -768,7 +782,9 @@ dwError = ScmMarkServiceForDelete(lpService); - /* FIXME: Release service database lock */ +Done:; + /* Unlock the service database */ + ScmUnlockDatabase(); DPRINT("RDeleteService() done\n"); @@ -1047,6 +1063,7 @@ return ERROR_INVALID_HANDLE; } + /* Lock the srevice database shared */ ScmLockDatabaseShared(); /* Return service status information */ @@ -1054,6 +1071,7 @@ &lpService->Status, sizeof(SERVICE_STATUS)); + /* Unlock the service database */ ScmUnlockDatabase(); return ERROR_SUCCESS; @@ -1132,12 +1150,14 @@ return ERROR_INVALID_DATA; } + /* Lock the service database exclusively */ ScmLockDatabaseExclusive(); RtlCopyMemory(&lpService->Status, lpServiceStatus, sizeof(SERVICE_STATUS)); + /* Unlock the service database */ ScmUnlockDatabase(); DPRINT("Set %S to %lu\n", lpService->lpDisplayName, lpService->Status.dwCurrentState); @@ -1233,13 +1253,14 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock database exclusively */ + /* Lock the service database exclusively */ + ScmLockDatabaseExclusive(); if (lpService->bDeleted) { - /* FIXME: Unlock database */ DPRINT("The service has already been marked for delete!\n"); - return ERROR_SERVICE_MARKED_FOR_DELETE; + dwError = ERROR_SERVICE_MARKED_FOR_DELETE; + goto done; } /* Open the service key */ @@ -1406,11 +1427,12 @@ /* FIXME: Write password */ } - /* FIXME: Unlock database */ - done: if (hServiceKey != NULL) RegCloseKey(hServiceKey); + + /* Unlock the service database */ + ScmUnlockDatabase(); DPRINT("RChangeServiceConfigW() done (Error %lu)\n", dwError); @@ -2326,7 +2348,8 @@ if (lpResumeHandle) dwLastResumeCount = *lpResumeHandle; - /* FIXME: Lock the service list shared */ + /* Lock the service database shared */ + ScmLockDatabaseShared(); lpService = ScmGetServiceEntryByResumeCount(dwLastResumeCount); if (lpService == NULL) @@ -2464,7 +2487,8 @@ } Done:; - /* FIXME: Unlock the service list */ + /* Unlock the service database */ + ScmUnlockDatabase(); DPRINT("REnumServicesStatusW() done (Error %lu)\n", dwError); @@ -2532,7 +2556,7 @@ PSERVICE lpService; PMANAGER_HANDLE hManager; SC_HANDLE hHandle; - DWORD dwError; + DWORD dwError = ERROR_SUCCESS; DPRINT("ROpenServiceW() called\n"); DPRINT("hSCManager = %p\n", hSCManager); @@ -2556,14 +2580,16 @@ if (!lpServiceName) return ERROR_INVALID_ADDRESS; - /* FIXME: Lock the service list */ + /* Lock the service database exclusive */ + ScmLockDatabaseExclusive(); /* Get service database entry */ lpService = ScmGetServiceEntryByName(lpServiceName); if (lpService == NULL) { DPRINT("Could not find a service!\n"); - return ERROR_SERVICE_DOES_NOT_EXIST; + dwError = ERROR_SERVICE_DOES_NOT_EXIST; + goto Done; } /* Create a service handle */ @@ -2572,7 +2598,7 @@ if (dwError != ERROR_SUCCESS) { DPRINT("ScmCreateServiceHandle() failed (Error %lu)\n", dwError); - return dwError; + goto Done; } /* Check the desired access */ @@ -2582,7 +2608,7 @@ { DPRINT("ScmCheckAccess() failed (Error %lu)\n", dwError); HeapFree(GetProcessHeap(), 0, hHandle); - return dwError; + goto Done; } lpService->dwRefCount++; @@ -2591,9 +2617,13 @@ *lpServiceHandle = (SC_RPC_HANDLE)hHandle; DPRINT("*hService = %p\n", *lpServiceHandle); +Done:; + /* Unlock the service database */ + ScmUnlockDatabase(); + DPRINT("ROpenServiceW() done\n"); - return ERROR_SUCCESS; + return dwError; } @@ -2644,7 +2674,8 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock the service database shared */ + /* Lock the service database shared */ + ScmLockDatabaseShared(); dwError = ScmOpenServiceKey(lpService->lpServiceName, KEY_READ, @@ -2784,6 +2815,9 @@ *pcbBytesNeeded = dwRequiredSize; Done:; + /* Unlock the service database */ + ScmUnlockDatabase(); + if (lpImagePath != NULL) HeapFree(GetProcessHeap(), 0, lpImagePath); @@ -2795,8 +2829,6 @@ if (hServiceKey != NULL) RegCloseKey(hServiceKey); - - /* FIXME: Unlock the service database */ DPRINT("RQueryServiceConfigW() done\n"); @@ -3078,13 +3110,14 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock database exclusively */ + /* Lock the service database exclusively */ + ScmLockDatabaseExclusive(); if (lpService->bDeleted) { - /* FIXME: Unlock database */ DPRINT("The service has already been marked for delete!\n"); - return ERROR_SERVICE_MARKED_FOR_DELETE; + dwError = ERROR_SERVICE_MARKED_FOR_DELETE; + goto done; } /* Open the service key */ @@ -3299,9 +3332,10 @@ /* FIXME: Write password */ } - /* FIXME: Unlock database */ - done: + /* Unlock the service database */ + ScmUnlockDatabase(); + if (hServiceKey != NULL) RegCloseKey(hServiceKey); @@ -3822,7 +3856,8 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock the service database shared */ + /* Lock the service database shared */ + ScmLockDatabaseShared(); dwError = ScmOpenServiceKey(lpService->lpServiceName, KEY_READ, @@ -3995,6 +4030,9 @@ *pcbBytesNeeded = dwRequiredSize; Done:; + /* Unlock the service database */ + ScmUnlockDatabase(); + if (lpImagePath != NULL) HeapFree(GetProcessHeap(), 0, lpImagePath); @@ -4006,8 +4044,6 @@ if (hServiceKey != NULL) RegCloseKey(hServiceKey); - - /* FIXME: Unlock the service database */ DPRINT("RQueryServiceConfigA() done\n"); @@ -4444,13 +4480,14 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock database exclusively */ + /* Lock the service database exclusively */ + ScmLockDatabaseExclusive(); if (lpService->bDeleted) { - /* FIXME: Unlock database */ DPRINT("The service has already been marked for delete!\n"); - return ERROR_SERVICE_MARKED_FOR_DELETE; + dwError = ERROR_SERVICE_MARKED_FOR_DELETE; + goto done; } /* Open the service key */ @@ -4490,7 +4527,9 @@ } done: - /* FIXME: Unlock database */ + /* Unlock the service database */ + ScmUnlockDatabase(); + if (hServiceKey != NULL) RegCloseKey(hServiceKey); @@ -4545,7 +4584,8 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock the service database shared */ + /* Lock the service database shared */ + ScmLockDatabaseShared(); dwError = ScmOpenServiceKey(lpService->lpServiceName, KEY_READ, @@ -4603,13 +4643,14 @@ } done: + /* Unlock the service database */ + ScmUnlockDatabase(); + if (lpDescription != NULL) HeapFree(GetProcessHeap(), 0, lpDescription); if (hServiceKey != NULL) RegCloseKey(hServiceKey); - - /* FIXME: Unlock database */ DPRINT("RQueryServiceConfig2W() done (Error %lu)\n", dwError); @@ -4663,7 +4704,8 @@ return ERROR_INVALID_HANDLE; } - /* FIXME: Lock the service database shared */ + /* Lock the service database shared */ + ScmLockDatabaseShared(); dwError = ScmOpenServiceKey(lpService->lpServiceName, KEY_READ, @@ -4759,6 +4801,9 @@ } done: + /* Unlock the service database */ + ScmUnlockDatabase(); + if (lpDescription != NULL) HeapFree(GetProcessHeap(), 0, lpDescription); @@ -4770,8 +4815,6 @@ if (hServiceKey != NULL) RegCloseKey(hServiceKey); - - /* FIXME: Unlock database */ DPRINT("RQueryServiceConfig2W() done (Error %lu)\n", dwError); @@ -4825,6 +4868,9 @@ return ERROR_INVALID_HANDLE; } + /* Lock the service database shared */ + ScmLockDatabaseShared(); + lpStatus = (LPSERVICE_STATUS_PROCESS)lpBuffer; /* Return service status information */ @@ -4834,6 +4880,9 @@ lpStatus->dwProcessId = lpService->ProcessId; /* FIXME */ lpStatus->dwServiceFlags = 0; /* FIXME */ + + /* Unlock the service database */ + ScmUnlockDatabase(); return ERROR_SUCCESS; } @@ -5028,9 +5077,10 @@ return ERROR_ACCESS_DENIED; } - if (lpResumeIndex) dwLastResumeCount = *lpResumeIndex; - - /* Lock the service list shared */ + if (lpResumeIndex) + dwLastResumeCount = *lpResumeIndex; + + /* FIXME: Lock the service list shared */ lpService = ScmGetServiceEntryByResumeCount(dwLastResumeCount); if (lpService == NULL) @@ -5232,7 +5282,7 @@ } Done:; - /* Unlock the service list */ + /* FIXME: Unlock the service list */ DPRINT("REnumServicesStatusExW() done (Error %lu)\n", dwError);
13 years, 8 months
1
0
0
0
[akhaldi] 51426: [Translations] * explorer-new: Fix some wrong UK and RU translations. * shell32: Update UK and RU translations. * Patch by Igor Paliychuk <mansonigor at gmail dot com>
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 22 14:07:22 2011 New Revision: 51426 URL:
http://svn.reactos.org/svn/reactos?rev=51426&view=rev
Log: [Translations] * explorer-new: Fix some wrong UK and RU translations. * shell32: Update UK and RU translations. * Patch by Igor Paliychuk <mansonigor at gmail dot com> Modified: trunk/reactos/base/shell/explorer-new/lang/ru-RU.rc trunk/reactos/base/shell/explorer-new/lang/uk-UA.rc trunk/reactos/dll/win32/shell32/lang/ru-RU.rc trunk/reactos/dll/win32/shell32/lang/uk-UA.rc Modified: trunk/reactos/base/shell/explorer-new/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer-new/la…
============================================================================== --- trunk/reactos/base/shell/explorer-new/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer-new/lang/ru-RU.rc [iso-8859-1] Fri Apr 22 14:07:22 2011 @@ -7,7 +7,7 @@ POPUP "" BEGIN MENUITEM SEPARATOR - MENUITEM "Ïàíåëü çàäà÷", ID_SHELL_CMD_OPEN_TASKMGR + MENUITEM "Äèñïåò÷åð çàäà÷", ID_SHELL_CMD_OPEN_TASKMGR MENUITEM SEPARATOR MENUITEM "&Çàêðåïèòü ïàíåëü çàäà÷", ID_LOCKTASKBAR MENUITEM "&Ñâîéñòâà", ID_SHELL_CMD_PROPERTIES Modified: trunk/reactos/base/shell/explorer-new/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer-new/la…
============================================================================== --- trunk/reactos/base/shell/explorer-new/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer-new/lang/uk-UA.rc [iso-8859-1] Fri Apr 22 14:07:22 2011 @@ -13,7 +13,7 @@ POPUP "" BEGIN MENUITEM SEPARATOR - MENUITEM "Ïàíåëü çàâäàíü", ID_SHELL_CMD_OPEN_TASKMGR + MENUITEM "Äèñïåò÷åð çàâäàíü", ID_SHELL_CMD_OPEN_TASKMGR MENUITEM SEPARATOR MENUITEM "&Çàêð³ïèòè ïàíåëü çàâäàíü", ID_LOCKTASKBAR MENUITEM "Â&ëàñòèâîñò³", ID_SHELL_CMD_PROPERTIES Modified: trunk/reactos/dll/win32/shell32/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ru-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] Fri Apr 22 14:07:22 2011 @@ -668,10 +668,10 @@ IDS_LOGOFF_PROMPT "Do you want to log off?" /* Run File dialog */ - IDS_RUNDLG_ERROR "Unable to display Run File dialog box (internal error)" - IDS_RUNDLG_BROWSE_ERROR "Unable to display Browse dialog box (internal error)" - IDS_RUNDLG_BROWSE_CAPTION "Browse" - IDS_RUNDLG_BROWSE_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0" + IDS_RUNDLG_ERROR "Íåâîçìîæíî îòîáðàçèòü Äèàëîã Âûïîëíèòü Ôàéë (âíóòðåííÿÿ îøèáêà)" + IDS_RUNDLG_BROWSE_ERROR "Íåâîçìîæíî îòîáðàçèòü Äèàëîã Îáçîð (âíóòðåííÿÿ îøèáêà)" + IDS_RUNDLG_BROWSE_CAPTION "Îáçîð" + IDS_RUNDLG_BROWSE_FILTER "Èñïîëíÿåìûå ôàéëû (*.exe)\0*.exe\0Âñå ôàéëû (*.*)\0*.*\0" /* shell folder path default values */ IDS_PROGRAMS "Ãëàâíîå ìåíþ\\Ïðîãðàììû" @@ -722,8 +722,8 @@ IDS_RECYCLEBIN_DISKSPACE "Äîñòóïíîå ïðîñòðàíñòâî" IDS_EMPTY_BITBUCKET "Î÷èñòèòü êîðçèíó" IDS_PICK_ICON_TITLE "Âûáðàòü çíà÷îê" - IDS_PICK_ICON_FILTER "Ôàéëû çíà÷êîâ (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" - IDS_OPEN_WITH_FILTER "Èñïîëíÿåìûå ôàéëû (*.exe)\0*.exe\0All Files (*.*)\0*.*\0" + IDS_PICK_ICON_FILTER "Ôàéëû çíà÷êîâ (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Âñå ôàéëû (*.*)\0*.*\0" + IDS_OPEN_WITH_FILTER "Èñïîëíÿåìûå ôàéëû (*.exe)\0*.exe\0Âñå ôàéëû (*.*)\0*.*\0" IDS_DIRECTORY "Ïàïêà" IDS_VIRTUAL_DRIVER "Äðàéâåð âèðòóàëüíîãî óñòðîéñòâà" IDS_BAT_FILE "Ïàêåòíûé ôàéë ReactOS" @@ -742,7 +742,7 @@ IDS_SYS_FILE "Ñèñòåìíûé ôàéë" IDS_OPEN_VERB "Îòêðûòü" - IDS_EXPLORE_VERB "Explore" + IDS_EXPLORE_VERB "Îòêðûòü â äåðåâå" IDS_RUNAS_VERB "Çàïóñòèòü êàê " IDS_EDIT_VERB "Èçìåíèòü" IDS_FIND_VERB "Ïîèñê" Modified: trunk/reactos/dll/win32/shell32/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/uk-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] Fri Apr 22 14:07:22 2011 @@ -682,10 +682,10 @@ IDS_LOGOFF_PROMPT "Âè õî÷åòå âèéòè ç ñèñòåìè?" /* Run File dialog */ - IDS_RUNDLG_ERROR "Unable to display Run File dialog box (internal error)" - IDS_RUNDLG_BROWSE_ERROR "Unable to display Browse dialog box (internal error)" - IDS_RUNDLG_BROWSE_CAPTION "Browse" - IDS_RUNDLG_BROWSE_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0" + IDS_RUNDLG_ERROR "Íåìîæëèâî â³äîáðàçèòè ijàëîã Çàïóñêó Ôàéëó (âíóòð³øíÿ ïîìèëêà)" + IDS_RUNDLG_BROWSE_ERROR "Íåìîæëèâî â³äîáðàçèòè ijàëîã Îãëÿäó (âíóòð³øíÿ ïîìèëêà)" + IDS_RUNDLG_BROWSE_CAPTION "Îãëÿä" + IDS_RUNDLG_BROWSE_FILTER "Âèêîíóâàí³ Ôàéëè (*.exe)\0*.exe\0Âñ³ Ôàéëè (*.*)\0*.*\0" /* shell folder path default values */ IDS_PROGRAMS "Start Menu\\Programs" @@ -736,8 +736,8 @@ IDS_RECYCLEBIN_DISKSPACE "Äîñòóïíèé ïðîñò³ð" IDS_EMPTY_BITBUCKET "Î÷èñòèòè Êîøèê" IDS_PICK_ICON_TITLE "Âèáðàòè çíà÷îê" - IDS_PICK_ICON_FILTER "Ôàéëè çíà÷ê³â (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" - IDS_OPEN_WITH_FILTER "Âèêîíóâàí³ ôàéëè (*.exe)\0*.exe\0All Files (*.*)\0*.*\0" + IDS_PICK_ICON_FILTER "Ôàéëè çíà÷ê³â (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Âñ³ Ôàéëè (*.*)\0*.*\0" + IDS_OPEN_WITH_FILTER "Âèêîíóâàí³ ôàéëè (*.exe)\0*.exe\0Âñ³ Ôàéëè (*.*)\0*.*\0" IDS_DIRECTORY "Ïàïêà" IDS_VIRTUAL_DRIVER "Äðàéâåð â³ðòóàëüíîãî ïðèñòðîþ" IDS_BAT_FILE "Ïàêåòíèé ôàéë ReactOS" @@ -756,7 +756,7 @@ IDS_SYS_FILE "Ñèñòåìíèé ôàéë" IDS_OPEN_VERB "³äêðèòè" - IDS_EXPLORE_VERB "Explore" + IDS_EXPLORE_VERB "³äêðèòè â äåðåâ³" IDS_RUNAS_VERB "Çàïóñòèòè ÿê " IDS_EDIT_VERB "Çì³íèòè" IDS_FIND_VERB "Ïîøóê"
13 years, 8 months
1
0
0
0
[rharabien] 51425: [KERNEL32] * Add Traditional, Hongkong and Macau Chinese NLS removed in 48530. Fixes msvcrt:locale cmake branch regression.
by rharabien@svn.reactos.org
Author: rharabien Date: Fri Apr 22 12:47:36 2011 New Revision: 51425 URL:
http://svn.reactos.org/svn/reactos?rev=51425&view=rev
Log: [KERNEL32] * Add Traditional, Hongkong and Macau Chinese NLS removed in 48530. Fixes msvcrt:locale cmake branch regression. Modified: branches/cmake-bringup/dll/win32/kernel32/locale_rc.rc Modified: branches/cmake-bringup/dll/win32/kernel32/locale_rc.rc URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/kernel3…
============================================================================== --- branches/cmake-bringup/dll/win32/kernel32/locale_rc.rc [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/kernel32/locale_rc.rc [iso-8859-1] Fri Apr 22 12:47:36 2011 @@ -48,11 +48,11 @@ #include "nls/cat.nls" /* 0x0403 LANG_CATALAN, SUBLANG_DEFAULT */ -//#include "nls/cht.nls" /* 0x0404 LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL */ +#include "nls/cht.nls" /* 0x0404 LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL */ #include "nls/chs.nls" /* 0x0804 LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED */ -//#include "nls/zhh.nls" /* 0x0c04 LANG_CHINESE, SUBLANG_CHINESE_HONGKONG */ +#include "nls/zhh.nls" /* 0x0c04 LANG_CHINESE, SUBLANG_CHINESE_HONGKONG */ #include "nls/zhi.nls" /* 0x1004 LANG_CHINESE, SUBLANG_CHINESE_SINGAPORE */ -//#include "nls/zhm.nls" /* 0x1404 LANG_CHINESE, SUBLANG_CHINESE_MACAU */ +#include "nls/zhm.nls" /* 0x1404 LANG_CHINESE, SUBLANG_CHINESE_MACAU */ #include "nls/csy.nls" /* 0x0405 LANG_CZECH, SUBLANG_DEFAULT */ @@ -119,7 +119,7 @@ #include "nls/ita.nls" /* 0x0410 LANG_ITALIAN, SUBLANG_ITALIAN */ #include "nls/its.nls" /* 0x0810 LANG_ITALIAN, SUBLANG_ITALIAN_SWISS */ -//#include "nls/jpn.nls" /* 0x0411 LANG_JAPANESE, SUBLANG_DEFAULT */ +#include "nls/jpn.nls" /* 0x0411 LANG_JAPANESE, SUBLANG_DEFAULT */ #include "nls/kor.nls" /* 0x0412 LANG_KOREAN, SUBLANG_KOREAN */
13 years, 8 months
1
0
0
0
[ilardig] 51424: [shimgvw] Add Italian translation. [mplay32] Fix Italian translation for play.
by ilardig@svn.reactos.org
Author: ilardig Date: Fri Apr 22 12:30:50 2011 New Revision: 51424 URL:
http://svn.reactos.org/svn/reactos?rev=51424&view=rev
Log: [shimgvw] Add Italian translation. [mplay32] Fix Italian translation for play. Added: trunk/reactos/dll/win32/shimgvw/lang/it-IT.rc (with props) Modified: trunk/reactos/base/applications/mplay32/lang/it-IT.rc trunk/reactos/dll/win32/shimgvw/rsrc.rc Modified: trunk/reactos/base/applications/mplay32/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mplay32/…
============================================================================== --- trunk/reactos/base/applications/mplay32/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mplay32/lang/it-IT.rc [iso-8859-1] Fri Apr 22 12:30:50 2011 @@ -26,5 +26,5 @@ IDS_TOOLTIP_SEEKFORW "Avanzamento rapido" IDS_TOOLTIP_FORWARD "Successivo" IDS_APPTITLE "Riproduttore multimediale ReactOS" - IDS_PLAY "Mostra" + IDS_PLAY "Riproduci" END Added: trunk/reactos/dll/win32/shimgvw/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shimgvw/lang/it-…
============================================================================== --- trunk/reactos/dll/win32/shimgvw/lang/it-IT.rc (added) +++ trunk/reactos/dll/win32/shimgvw/lang/it-IT.rc [iso-8859-1] Fri Apr 22 12:30:50 2011 @@ -1,0 +1,18 @@ +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_APPTITLE "Visualizzatore immagini e fax di ReactOS" + IDS_SETASDESKBG "Imposta come sfondo del desktop" + IDS_PREVIEW "Anteprima" + + /* Tooltips */ + IDS_TOOLTIP_NEXT_PIC "Immagine successiva" + IDS_TOOLTIP_PREV_PIC "Immagine precedente" + IDS_TOOLTIP_ZOOM_IN "Zoom avanti (+)" + IDS_TOOLTIP_ZOOM_OUT "Zoom indietro (-)" + IDS_TOOLTIP_ROT_CLOCKW "Ruotare in senso orario (Ctrl+K)" + IDS_TOOLTIP_ROT_COUNCW "Ruotare in senso antiorario (Ctrl+L)" + IDS_TOOLTIP_PRINT "Stampare (Ctrl+P)" + IDS_TOOLTIP_SAVEAS "Salva in... (Ctrl+S)" +END Propchange: trunk/reactos/dll/win32/shimgvw/lang/it-IT.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/win32/shimgvw/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shimgvw/rsrc.rc?…
============================================================================== --- trunk/reactos/dll/win32/shimgvw/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shimgvw/rsrc.rc [iso-8859-1] Fri Apr 22 12:30:50 2011 @@ -6,6 +6,7 @@ #include "lang/de-DE.rc" #include "lang/en-US.rc" #include "lang/es-ES.rc" +#include "lang/it-IT.rc" #include "lang/no-NO.rc" #include "lang/lt-LT.rc" #include "lang/pl-PL.rc"
13 years, 8 months
1
0
0
0
← Newer
1
...
6
7
8
9
10
11
12
...
30
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
Results per page:
10
25
50
100
200