[EVENTLOG]: Make usage of this library.
CORE-11868 #resolve #comment Committed in r73035.
[EVENTLOG]: Protect the global handle table with a lock as it seems to me that this needs serialization. Please notify me if you think this is not actually necessary (and I'll revert that in case).
svn path=/trunk/; revision=73035
- Update code source files headers.
- Use explicit unicode functions for RegOpen/Query/SetXXX and safe-string APIs.
- Use GetSystemWindowsDirectoryW where needed instead of GetWindowsDirectoryW (TS-safe).
- Fix some variable names & types.
- Improve some DPRINTs.
svn path=/trunk/; revision=73034
- comply with MSDN and stop enumerating font families as soon as the user provided callback returns zero
- fixes bunch of user32:sysparams tests which rely on this
svn path=/trunk/; revision=73032
- When displaying files, display the percentage of file read so far in the "Continue" prompt. Otherwise (when being piped or feeded from StdIn), just display the "Continue" prompt without percentage.
- Try to detect the text file encoding (ANSI, UTF16-BE/BE w/ or w/o BOM; UTF-8 to do!!) before displaying it. See the code for more details.
NOTE that the other functionalities of more (being able to scroll one line at a time, other command-line switches, etc...) are still not implemented yet.
svn path=/trunk/; revision=73025
- Introduce new functionalities related to console streams, a console screen management api (almost stubbed), a console pager api (adapted from code from CMD). This new functionality will be used in the future. See CORE-10504 for more details.
- As this library is therefore growing up, split it in small parts (sublibraries) that can be used, with the following dependency scheme: base utils (standalone); streams depending on base; screen depending on streams; pager depending on screen.
[APPS]: As a result, modify the CMakeLists of the different apps that use conutils to make them depend on the correct sublibrary.
svn path=/trunk/; revision=73024
- Localization of output based on a patch by Lee Schroeder, but where I haven't modified yet the output localization of errors.
- Dynamically underline the headers of the device status reports (by me).
CORE-12178
svn path=/trunk/; revision=72996
- Rearrange ResizeTextConsole so that it correctly computes the Top & Bottom parts of the window size rectangle;
- Fix its return type;
- Display an error if we failed resizing the console;
- Clear the screen before resizing the console, as the real MODE.COM does.
- Fix a parsing error in SetConsoleStateOld and in SetConsoleCPState.
svn path=/trunk/; revision=72995
- Call TermGetLargestConsoleWindowSize to obtain the largest console window size allowed on the system, and use it for GetConsoleScreenBufferInfo and for SetConsoleWindowInfo too, where it is used to check if the given user window size is not too large.
- Improve GuiGetLargestConsoleWindowSize for multi-monitor situations.
- Remove the redundant definition of GetScreenBufferSizeUnits in guiterm.c (it already exists in conwnd.c).
svn path=/trunk/; revision=72993
Replace error codes that don't even exist in MS headers (but they are referenced on MSDN?!)
Replace their usage in code
svn path=/trunk/; revision=72991
- Let the zero page thread decide itself whether it is active or not.
- Raise the low memory limit for our good old balancer
- Allow the balancer thread to wait for a page to be freed, with a lower limit than for "regular" page faults
- Let ARM3 notify RosMm when a page gets freed
CORE-12047 #comment Whole patch got in in r72988, 72989 and 72990
svn path=/trunk/; revision=72990
Miscellaneous fixes for legacy Mm section implementation
- Always allocate a private page for IMAGE_SCN_CNT_UNINITIALIZED_DATA
- Make sure a shared page is present before writing on a COW mapping and making a private copy.
- Fix a race condition : when paging out a file section, old Mm lists all of the process maps, removing them one after the other and lowering the page reference count in the process. Sometimes a page fault occur in the process, the mapping is added, but the page refcount is not bumped because it requires locking the corresponding segment. Manage page refcount under segment lock.
CORE-12047
svn path=/trunk/; revision=72989
- Acquire Paging IO Resource shared when performing paged writes
Greenlighted by Pierre and tests.
CORE-12184 #resolve
svn path=/trunk/; revision=72987
- Improve the checks done for the tests;
- Add a new test (Test7) that tests the allowed console window sizes wrt. the csbi.dwMaximumWindowSize size.
svn path=/trunk/; revision=72985
This makes all the kernel32_apitest:SetConsoleWindowInfo tests pass now.
Also, notify the console window about the size change.
svn path=/trunk/; revision=72984
- Use GetSystemWindowsDirectoryW instead of GetWindowsDirectoryW inside "TranslateConsoleName";
- Don't add scrollbars by default to the console window when it's being created;
- Fix the 2nd parameter of MapVirtualKeyW call;
- Two code style changes in text.c and tuiterm.c.
svn path=/trunk/; revision=72983
- Parse the command line the same peculiar way as Windows' mode.com tool. This is certainly done such as to be backwards-compatible with MS-DOS' tool.
- Fix serial port string parsing, based on Wine's dll/win32/kernel32/wine/comm.c code. Note that the BuildCommDCB kernel32 API has the same syntax :)
- Implement support for MODE CON codepage, as well as screen size and typematic settings. Screen size code is based on NTVDM's one and will be subject to fixes later on.
MISSING stuff:
- LPT/COM port redirection.
- Localization :)
CORE-12176 #resolve
CORE-7998 CORE-8001
svn path=/trunk/; revision=72980
- Ignore the KEY_WOW64_32KEY and KEY_WOW64_64KEY flags in NtOpenKey/NtCreateKey, as shown by tests.
CORE-9691 #resolve
svn path=/trunk/; revision=72975
- fix an odd quirk that resulted from Paint setting wallpaper and wallpaper style in the wrong order
- add the flag SPIF_SENDWININICHANGE
Setting wallpapers now works, whenever the OS natively supports the respective file format for wallpapers.
svn path=/trunk/; revision=72972
- specify processings flags in filter descriptor
- implement processing workers
- move code for initializing irp & urb into single function
- usbaudio now successfully captures audio in win2k3.
svn path=/trunk/; revision=72969
- Improve the screen pager so that it looks a bit more like MORE's one: display full screen pages, where only the last line contains the "press any key..." prompt, and erase this prompt when a key is pressed and before displaying the other screen page.
- GetScreenSize parameters are pointers (so use NULL instead of 0);
- Use ARRAYSIZE instead of hardcoding buffer number of elements;
- Simplify PrintInfoLine() (use read-only resource string buffer returned by LoadString instead of a temporary buffer, since we are just interested in the counted string).
svn path=/trunk/; revision=72955
- Fix typo in STRING_MEMMORY_xxx symbols (memmory -> memory);
- Remove the trailing newline for the STRING_MISC_HELP1 page prompt, as part of reworking it a bit (see next commit);
- Code formatting in type.c as I'll touch it after.
svn path=/trunk/; revision=72954
- Use a dynamic-allocated buffer with FormatMessageW, fixes messages disappearance (eg. ping help in russian). CORE-12108 #comment Fixed in r72943.
- Remove the unneeded 1-line function "Usage" and instead just directly call the corresponding PrintString function.
svn path=/trunk/; revision=72943
- Remove handling of BS_DIBPATTERN8X8 in CreateBrushIndirect. Fixes the last gdi32:brush winetest failure. Patch by Víctor Martínez Calvo.
CORE-9673 #resolve
svn path=/trunk/; revision=72935
Make those command tools use the console uilities library, aka. solve all those problems of wrong characters on the console...
CORE-10584 #resolve
[CONUTILS]: Remove the now unneeded compatibility defines.
CORE-10504
svn path=/trunk/; revision=72933
- Use Puts functions where needed;
- Fix a __stdcall that needs to be read __cdecl for a variadic function.
[CACLS]
Fix some resources so that the strings can hold on the width of a standard console screen (80 chars).
svn path=/trunk/; revision=72930
Make those command tools use the console uilities library, aka. solve all those problems of wrong characters on the console...
Nitpickers may notice that at some places, the usage of a "Puts"-like function would be better than Printf. Don't worry, I'm on it, it's for another commit.
CORE-10504
CORE-11909 #resolve
svn path=/trunk/; revision=72928
- use IoInitializeIrp over IoAllocateIrp
- reinitialize irp and urb when resubmitting it
- usbaudio now successfully transfers stream irps (not yet fully working)
svn path=/trunk/; revision=72925
- When enabling or disabling the kernel debugger and setting the KdDebuggerEnabled flag, also update the corresponding user-mode flag in SharedUserData->KdDebuggerEnabled.
- Turn KdpGetMemorySizeInMBs into a INIT_FUNCTION.
- Print kernel command line & ARC paths even in debug log file mode.
[KD64]
WinKD: Also print our nice ReactOS debug header (version, # of processors & memory MB, kernel command line and ARC paths).
svn path=/trunk/; revision=72922
- Install the DHCP client service as part of nettcpip.inf. This ensures it does not try to run before tcpip is installed.
CORE-12011 #resolve
svn path=/trunk/; revision=72916
Needed for CORE-11988 to add arbitrary empty directories to the ISO image using mkisofs.
This change can't be expressed in a patch, so I have to do it right here.
svn path=/trunk/; revision=72906
- Extend GetUserObjectInformation tests by adding tests for UOI_NAME on the default as well as custom window stations/desktops.
CORE-12073
svn path=/trunk/; revision=72900
Defining -fshort-wchar globally for all host tools breaks every possibility to interact with the host's Unicode support for some operating systems with 4 byte wchar_t (like Mac OS X).
Let's better define no additional global flags and only add -fshort-wchar for the host modules that really need a 2-byte wchar_t for writing ReactOS data files. These are cmlibhost, inflibhost, mkhive and xml2sdb.
Also add -Wno-multichar only for cmlibhost, where it's required.
In preparation for CORE-11988
svn path=/trunk/; revision=72899
Fix the ShowLastWin32Error helpers:
- don't display the last error string if it's ERROR_SUCCESS (since the code usually expects to display the last error message in case of errors);
- *always* call FormatMessage with the FORMAT_MESSAGE_IGNORE_INSERTS flag enabled. Indeed if it happens that the message string associated to an error ID contains insert parameter placeholders, and since we don't give here FormatMessage any argument array, the call would result into a crash without this flag.
svn path=/trunk/; revision=72897
- Translate a string into english (that I forgot to do: english & turkish);
- Fix the allowed event ID range mentioned in the help (russian);
- The event log names should not be localized (turkish).
svn path=/trunk/; revision=72895
- CNetFolder: Use the Folder class for the items shown. The same is done in shell extensions (in windows) that use the CDefaultContextMenu and want the Open and Explore verbs to be shown. This behaviour was first discovered by gigaherz when ntobjshex was tested in windows.
CORE-12086
svn path=/trunk/; revision=72891
When parsing the UNC names, start the connection to allow the user to browse the net folder immediately.
This is required for network providers which require the connections to be started before browsing (as VBoxNP).
This is likely a hack.
ROSAPPS-303
CORE-11757
svn path=/trunk/; revision=72888
- change type of haccel from HANDLE to HACCEL
- port registry code to ATL::CRegKey, which -- through its destructor -- should prevent handle leaks
- rename some parameters and variables
- incorporate some changes suggested by Carlo Bramini in CORE-12080
svn path=/trunk/; revision=72883
- Return ERROR_MORE_DATA instead of ERROR_BUFFER_OVERFLOW from RegEnumKeyExW in case the name or class buffer is too small.
CORE-12030 #resolve
svn path=/trunk/; revision=72879
- Add a test for RegEnumKeyExW showing that it should return ERROR_MORE_DATA instead of ERROR_BUFFER_OVERFLOW when the name buffer is too small. Based on a patch by Doug Lyons.
CORE-12030
svn path=/trunk/; revision=72876
- Acquire ProcessLock before accessing a process's thread list in NtQuerySystemInformation/SystemProcessInformation. Patch by Volodymyr Shcherbyna.
CORE-12001 #resolve
svn path=/trunk/; revision=72873
- Handle arbitrary-length DEVMODEW structures in NtGdiOpenDCW. Patch by Katayama Hirofumi MZ with small changes by me.
CORE-12068 #resolve
svn path=/trunk/; revision=72871
- Get rid of MiNonPagedSystemSize, which is misleading because MmNumberOfSystemPtes can change throughout the startup process, thus invalidating this size variable
- Correctly reserve the system PTE space and nonpaged pool expansion space in MiInitSystemMemoryAreas
Should fix the remaining "Bad PTE" bug checks when running out of kernel address space.
CORE-11533 #resolve
CORE-11160 CORE-10611 CORE-11926 CORE-11873 CORE-11554 #comment This should be fixed with r72869, please retest.
svn path=/trunk/; revision=72869
Russian translation update by Sergey Stopkin + lil build fix by me
CORE-12019 #resolve #comment Committed, thx ^^ Beware of " in string blocks though, these are "" then
svn path=/trunk/; revision=72861
More information in the JIRA report and in the source code (eventcreate.c).
The generator (evtmsggen) for the event message string templates file "evtmsgstr.mc" is also provided.
CORE-12065 #resolve
svn path=/trunk/; revision=72854
Make previously untested GDI+ C++ wrappers compilable. This involves:
- adding the respective headers to gdiplus.h in a sensible order
- adding forward-declarations
- adding friend-declarations, so that the wrapper functions in those classes can access the private GpXXX members
- const-qualifying the getters in class Color
- adding the EmfToWmfBitsFlags enum
- commenting out bits that use unavailable flatapi functions
- commenting out bits that for some reason the compiler does not like
- the typical typo/data type fixes that untested code tends to need
- moving the Font class within the same header to fulfill dependencies
- adding private GpXXX members to otherwise unimplemented classes
- adding a data-members-only implementation of SizeF
svn path=/trunk/; revision=72852
- Avoid an unintended fall-through and document and intended one in DownloadProgressProc. CID 1341273 (rapps), 1363531 (rapps_new)
svn path=/trunk/; revision=72848
- Fix menu crash, marking the menu object destroyed if the access count is more than one. Must remember these are not GDI objects. Expect a retooling of user objects soon. Set CORE-11892.
svn path=/trunk/; revision=72837
- CDesktopBrowser: Implement support for multiple monitors. This needs to be disabled since we don't support LVM_SETWORKAREAS in comctl32 yet. Till then confine the desktop window in the default monitor.
svn path=/trunk/; revision=72834
- Work around what appears to be a bug in the VS 2010 resource compiler (it failed without an error message when processing this file)
svn path=/trunk/; revision=72828
- Use explicit unicode functions where possible.
- Use ARRAYSIZE(foo) instead of sizeof(foo)/sizeof(foo[0]).
- Don't hardcode some buffer sizes.
- Try reducing level of code indentation in some functions.
- Make StartShell and StartInstaller return a boolean (TRUE: success; FALSE: failure). Will be needed in the next commit.
- Remove a useless "#pragma warning".
svn path=/trunk/; revision=72821
- port load and save to ATL::CImage
- let CImage generate the filter lists for the dialogs
- add menu entries "From Scanner or Camera..." and "Send..." (no functionality)
- add menu entries for most recently used files using ATL::CPath and ATL::CString
- manage list of most recently used files in registry using ATL::CRegKey
- use CString in some places instead of TCHAR arrays
Use of CImage for load/save adds support for all GDI+ formats but breaks import/export of dots per meter/inch values.
svn path=/trunk/; revision=72819
Bugfix to correctly identify the size of the programs in RAPPS for the Russian language by amber
CORE-11847 #resolve #comment Committed, thx.
App Manager - NirLauncher has a broken link by Ken Rochard
CORE-11718 #resolve #comment Committed, thx.
App Manager - Audacity has a broken link by Ken Rochard
CORE-11719 #resolve #comment Committed, thx.
Downgrade Python 3.5 to Python 3.4 (if it works) in Rapps by David Kleuker
CORE-11342 #resolve #comment Committed, thx.
App Manager - Libre Office 5.1.3 has a broken link by Ken Rochard
CORE-11670 #resolve #comment Committed, thx.
[RAPPS-DB] Click-N-Type Virtual Keyboard version is wrong by reactosfanboy
CORE-11243 #resolve #comment Committed, thx.
svn path=/trunk/; revision=72816
- CDefView: Overhaul the code that filled the menu bar of explorer. Fill the arrange as menu with the column names from the shell folders instead of hardcoding them. Check the selected arrange mode and view mode in the menu bar and in the context menu. Make the items in the file menu to actually work. It is possible to arrange the icons from the context menu now.
- Note to translators: Please check that the changes that I did in the 31 resource files make sense. Also note that the "Arrange Icons" menu now is called "Arrange Icons As".
svn path=/trunk/; revision=72808
LsapSetLogonSessionData: Set the logon type and the user name of the selected session.
LsapGetLogonSessionData: Fix the session data marshalling code.
Now we can retrieve the logon type and user name of the logon sessions.
svn path=/trunk/; revision=72789
- make a copy of KSFILTER_DESCRIPTOR as it might have been allocated from the stack
- always initialize object bag in filter factory
svn path=/trunk/; revision=72779
- SHCreateDefaultContextMenu: Since our shell folders don't pass the array of class keys needed, populate this array right in SHCreateDefaultContextMenu. This code should later be moved to the shell folders so as to make CDefaultContextMenu.cpp agnostic to the kind of items it handles.
- CDefaultContextMenu: Simplify filling the menu by making use of the array of keys passed in the DEFCONTEXTMENU struct.
svn path=/trunk/; revision=72776
- CDefaultContextMenu: Simplify some really superfluous code and add more checks for bogus parameters. Create the data object using GetUIObjectOf instead of SHCreateDataObject. Each sell folder should be able to use its own special data object.
svn path=/trunk/; revision=72775
- HCR_GetFolderAttributes already calls GetAttributesOf when needed, calling it when it is not needed can lead to crashes.
svn path=/trunk/; revision=72769
LsapGetLogonSessionData: Marshall the session data before sending them to the client.
[SECUR32]
LsaConnectUntrusted: Wait for the authentication thread.
LsaGetLogonSessionData: Unmarshall the session data after receiving them from the server.
svn path=/trunk/; revision=72767
- LsaRegisterLogonProcess: Wait for the LSA_AUTHENTICATION_INITIALIZED event.
- LsaDeregisterLogonProcess: Use ZwClose to close the port handle.
svn path=/trunk/; revision=72756
Open/Create and set the \\SECURITY\\LSA_AUTHENTICATION_INITIALIZED event after the LsaAuthenticationPort has been created.
svn path=/trunk/; revision=72755
- Move LsaConnectUntrusted() from sdk/lib/lsalib/lsa.c to dll/win32/secur32/lsalpc.c as it is not exported from ntoskrnl.
- Remove obsolete code from lsalib.
svn path=/trunk/; revision=72754
LsaRegisterLogonProcess: Do not wait for \\SECURITY\\LSA_AUTHENTICATION_INITIALIZED to get signaled as it breaks the boot.
svn path=/trunk/; revision=72753
[LSALIB]
- Add old-school annotations (as we currently do in our main .c code of our stuff).
- Mention that LsaConnectUntrusted is not an API that is exported (& implemented) by ntoskrnl.
- For LsaRegisterLogonProcess, we first wait for the LSA server to be ready (by waiting on its initialization event). This is TODO for LsaConnectUntrusted on the contrary.
[LSALIB][NTOS]
Usa the lsalib as the implementation of the LSA functions exported by ntoskrnl. But for that we need to recompile the lsalib as a library that can be used from inside ntoskrnl, because it needs some functions that are normally exported by ntos. For this purpose I add the library target "ntlsalib" (which also specify different #defines), to differentiate it from the (user-mode) "lsalib" one that is used by secur32.dll (Amine, if you have a better idea on how to do that, please let me know!).
svn path=/trunk/; revision=72751
- CreateUserEnvironment: if user impersonation fails, just fail the call.
- SetDefaultLanguage: Use the *correct* HKEY_CURRENT_USER key to retrieve the lang., that is, first impersonate the user, then, call RegOpenCurrentUser. We do that because otherwise calling RegOpenKey(Ex) for HKEY_CURRENT_USER just uses the process cached value of HKEY_CURRENT_USER, which does not change *even if* one impersonates an user.
[MSGINA]
- Correctly impersonate the user when opening & initializing the shutdown dialog (in the same way as winlogon does), i.e. call ImpersonateLoggedOnUser and use RegOpenCurrentUser.
- Fill few (but not all) code holes in WlxScreenSaverNotify.
svn path=/trunk/; revision=72737
- Do not hardcode buffer sizes in function calls, and use _countof when needed.
- Use explicit unicode functions where possible.
- No need to have 342687 versions of the shutdown dialog in msgina, only one is sufficient. The help button should be either shown or hidden, depending on whom is calling the dialog (shell or winlogon) (this is TODO!)
- Therefore, no need to have twice the (almost) same code for the shutdown dialog.
- Fix & rework said code.
- The old duplicated shutdown dialog now becomes the "template" for the "Luna-XP-style Shut Down dialog" (implementation TODO!)
- Reenable the WM_ACTIVATE code that was added in r72720 and temporarily disabled in r72721.
CORE-7559 #comment Numerous fixes committed in r72732.
svn path=/trunk/; revision=72732
[SHELL32]
- Use explicit unicode functions;
- Use _countof instead of sizeof(foo)/sizeof(foo[0]);
- Enable the shutdown privilege when we need it, and disable as soon as possible (code taken from taskmgr).
svn path=/trunk/; revision=72719
- Use explicit unicode functions;
- Just use the hdc field of the PAINTSTRUCT initialized by BeginPaint instead of introducing yet another hdc variable;
- Use SetDlgItemTextW instead of GetDlgItem + SetWindowTextW;
- Don't hardcode buffer sizes in functions calls;
- Use _countof instead of sizeof(foo)/sizeof(foo[0]);
- Avoid using raw 'int' variables where possible;
- Remove trailing whitespace.
...
svn path=/trunk/; revision=72718
- Tango-style icons by Henry Tang Ih and Jared Smudde, arranged by myself for PC-XT and AT style;
- ROS-DOS & VDM-DOS (copied from pifmgr.dll) by DSP2015
CORE-10340
svn path=/trunk/; revision=72712
Most of the code is from Katayama Hirofumi MZ, the placement new / delete is written by me, based on a hint from Giannis.
svn path=/trunk/; revision=72688
- Avoid IRP allocation failure in IopDeleteFile and IopCloseFile. Based on a patch by Volodymyr Shcherbyna.
CORE-11959
svn path=/trunk/; revision=72682
- Acquire DirResource before MainResource in DoQuery to keep locking order consistent and avoid deadlocks. Patch by Volodymyr Shcherbyna with small modification by me.
CORE-11959 CORE-11652
svn path=/trunk/; revision=72681
Concerning the fix in the NDK header I've checked that publicly available information about this structure (NirSoft website, Windows Internals book, Windows symbols...) has the member correctly named.
svn path=/trunk/; revision=72679
- Don't try to mark IRPs as pending when they might already be completed. For simplicity, always pend them instead.
CORE-11962
svn path=/trunk/; revision=72673
- Use correct checks for illegal chars
- Build context and 8.3 name on the basis of it (context can be already presented)
* Fixes 34 tests for ntdll:RtlGenerate8dot3Name (remained 16 tests will be fixed after correction of a problem with NLS files)
svn path=/trunk/; revision=72668
- Add new icons by DSP2003 under CC-BY-SA 4.0 International License Terms (the .ico and the original .png files).
- Use DSP2003's icons wherever possible, otherwise fallback to "alternative" icons or to the placeholder icon. The aim is to finally convert or create all the remaining icons using DSP2003's style.
CORE-10253
svn path=/trunk/; revision=72667
RtlGenerate8dot3Name: show that we don't deal correctly with checksums while generating short names.
Dedicated to Christoph
svn path=/trunk/; revision=72666
The "Add" routine is optional in the KSDEVICE_DISPATCH structure.
KsDevice.Descriptor should be initialized even if there is no device dispatch.
svn path=/trunk/; revision=72661
Fix lock/unlock order in SeLockSubjectContext/SeUnlockSubjectContext.
Patch by Volodymyr Shcherbyna.
CORE-11966 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=72644
- Fix copypasta
[NTUSER]
- User's buffer has to be checked before check of size parameters, differently we cannot safely check the sizes of structures
svn path=/trunk/; revision=72636
- Fix Path issues, Sync/Port wine. See CORE-4990 (Fill Path painting?), CORE-9612 (Fixed) and CORE-11916 (Fixed). Maybe more.
- Pen width might be related to another issue outside Path. See CORE-2527.
svn path=/trunk/; revision=72625
- Gracefully handle NULL clipbrd in clipbrd_wndproc. This is probably not the right fix, but avoids crashing for now.
CORE-11905
svn path=/trunk/; revision=72622
- Use ExAcquirePushLockShared instead ExAcquirePushLockExclusive (and move it outside enumeration)
- Don't leave a enumeration at ReqSize > Size. It is used for calculation of the size
- ObjectHeader->Type field currupted and I do not know who spoils it. Commented.
- Remove unneeded SEH
svn path=/trunk/; revision=72608
- We can now swap the 2k3 fltmgr with ours and successfully boot windows, so we can use the same name from here on.
- Start type is still demand as I've not done too much testing in ros, but it seems to be boot and run fine, so can be changed to boot start for anyone wanting to experiment a bit.
svn path=/trunk/; revision=72597
- Set correct major and minor versions
- Update the cmakelist file
- Export FltRegisterFilter and FltUnregisterFilter
- Minor cleanup
svn path=/trunk/; revision=72596
- Add stubs for context registration
- Add dispatch and device control handlers
- Implement the load IOCTL. We can now load minifilters with 'fltmc load <myfilter>'
svn path=/trunk/; revision=72595
- Properly handle requests that were sent directly to the fltmgr instead of sending them down the stack
- Add a separate callback for IRP_MJ_DEVICE_CONTROL and forward them on to an internal handler
- We can now open a handle to the fltmgr and send IOCTLs down to it.
svn path=/trunk/; revision=72593
- On load, open a handle to fltmgr, not the target driver...
- Fixup the load data we send to the fltmgr to be the same Windows layout. We need to copy this interface to allow component sharing between windows and ros.
- Move IOCTLs to shared header
svn path=/trunk/; revision=72591
- SdbGetMatchingExe, SdbInitDatabase partial implementation by Mislav Blažević
- Tests by me, they pass on vista - win10. (Win2k3 has another struct layout)
- Move shared test functions to a common header
- SdbTagRefToTagID misses functionality related to multiple databases, but that is not supported anywhere yet.
svn path=/trunk/; revision=72549
- The order of operations is changed
- Added check on availability of a '.' with a length of name of 8 and more characters (In 8.3 filename has to be a '.')
- Lead DBCS cannot precede the end of a filename
* Fixes 90 tests for kmtest FsRtlLegal
svn path=/trunk/; revision=72539
- ConvertBitmapInfo returns value of the cjInfoSize variable. We should not ignore this value. Checks are added
- The call of CalculateColorTableSize is not necessary, its value was already returned by ConvertBitmapInfo.
* Fixes 9 tests for gdi32_apitest CreateDIBitmap
svn path=/trunk/; revision=72534
- Better report kernel stack (real back traces for all threads!)
- Support reporting loaded libraries (== drivers, hal, etc.). You can even debug KDGDB inside KDGDB :-)
- A few improvements here and there
CORE-8531
svn path=/trunk/; revision=72533
- Use ProbeForRead instead ProbeForWrite (ProbeForWrite is a behavior which was in win2000)
- Set returned length after checking buffer size (ntdll_apitest NtQueryInformationProcess has tests only for ProcessTimes, but I checked other cases and always Length is set after check of the size)
* Fixes 4 tests in ntdll_apitest NtQueryInformationProcess (all NtQueryInformationProcess tests passed now)
svn path=/trunk/; revision=72532
- Show our URLs using https.
- Add a "FAQ" section to point to the corresponding website URL; feel free to improve the section!
svn path=/trunk/; revision=72527
- Patch by Sebastian Lackner : Do not block sending/posting WM_NOTIFY messages.
- Sync/Port : Fix more msg:msg_queue:test_notify_message results.
svn path=/trunk/; revision=72525
- Patch by Sebastian Gasiorek : Fix incorrect placement of the text in the Tab buttons. Implement TA_UPDATECP. See CORE-1578 and CORE-11415.
svn path=/trunk/; revision=72521
Chain-4 addressing isn't really the same as packed-pixel addressing.
Also, fix a bug in the optimized odd/even mode reading code.
svn path=/trunk/; revision=72514
- Failure if does not come to an end a way with a symbol '\' (exception - a path of a looks like 'C:')
* Fixes 2 tests for kernel32_apitest GetDriveType (all tests for GetDriveType passed now)
svn path=/trunk/; revision=72512
- Initialization of a string before obtaining information
* Fixes 2 tests for kernel32_apitest GetComputerNameEx (all tests passed now)
svn path=/trunk/; revision=72511
- The Condition parameter every time is compared to VER_EQUAL, but does not change thus. This behavior wrong. We have to receive new Condition every time
* Fixes 7 tests in kernel32_winetest version (all tests passed now)
svn path=/trunk/; revision=72509
- Blocking of the user buffer before obtaining information
- Use of ObpGetHandleObject macro for receiving ObjectHeader
- Remove duplicate NULL pointer check for HandleTableEntry
svn path=/trunk/; revision=72506
Our kernel32.lib already exports all of the console API and in particular the console history API, so we can directly link doskey against it and use them, instead of delay-loading at runtime. We just need to add their prototypes in the source code since they are not declared by wincon.h by default.
svn path=/trunk/; revision=72504
Don't forget to adapt the console attaching code to the new transposed video
memory, and certainly don't forget to make sure the ScanlineSizeLatch and
StartAddressLatch have the correct values before calling VgaVerticalRetrace.
svn path=/trunk/; revision=72498
- Shuffle parameter chacks in NtMapViewOfSection to make kmtest pass more of them
- Restore previously lost check on ZeroBits against 21. Use the architecture specific define
- Better check for ZeroBits and ViewSize
svn path=/trunk/; revision=72497
- Do not mask exceptions from WndProc. If this makes programs crash, fine, fix it, but DON'T HIDE BUGS.
- Use a wrappper (like wine does) to handle procs with bad calling conventions
ROSTESTS-155 : Please retest, user32 got in the way and masked the exception handler the wine test installed
svn path=/trunk/; revision=72495
- Properly chain events when reading a page from disk, aka don't wait on events allocated on the stack of another thread
- Use proper type pointers, compilers sometimes help making things right
svn path=/trunk/; revision=72493
- Use ExpLookupHandleTableEntry function for enumerate handles of process
- Filling handle information
- Setting ReqSize value before check of the size
* Fixes 2 tests ntdll_winetest info
svn path=/trunk/; revision=72491
- Implement IS_TEXT_UNICODE_ILLEGAL_CHARS and IS_TEXT_UNICODE_ASCII16 flags
* It fixes 7 tests for the IsTextUnicode function in advapi32_apitest. All tests passed now
svn path=/trunk/; revision=72486
- Return the correct pointer when handling TargetDeviceRelation, and avoid unnecessarily allocating from NonPagedPool. Patch by Vardan Mikayelyan, merged from r72376.
svn path=/trunk/; revision=72485
- Implement IS_TEXT_UNICODE_REVERSE_ASCII16, IS_TEXT_UNICODE_REVERSE_STATISTICS flags
- Fix IS_TEXT_UNICODE_STATISTICS
* It fixes 2 tests for RtlIsTextUnicode function. Now all rtlstr in winetest are passed successfully
svn path=/trunk/; revision=72476
Update the PCI hardware IDs database. Extracted from the pci.ids database from http://pci-ids.ucw.cz/ from 2016-08-26 03:15:02
Maintained by Albert Pool, Martin Mares, and other volunteers from the PCI ID Project at http://pci-ids.ucw.cz/.
CORE-11903 #resolve
svn path=/trunk/; revision=72475
Properly implement the vertical retrace interval. The starting address and the
scanline size are calculated at the start, and the actual update is performed at
the end. This allows software to change the pixel panning and some other
parameters during the vertical retrace.
Also, normalize the CRTC register names.
svn path=/trunk/; revision=72474
- Keep the control area as being created through the whole creation process in MmCreateArm3Section
- Use the segment length to find a suitable place for SEC_BASED sections
- Properly remove the global section node when deleting a based section
CORE-11900 #resolve
svn path=/trunk/; revision=72472
- Fix ZeroBits check in NtMapViewOfSection
- Implement handling MEM_DOS_LIM AllocationType
This fixes all but a few NtMapViewOfSection (due to some temp file not being removed) wine tests + tests from 72468
svn path=/trunk/; revision=72469
- Add a ugly and grotesque hack to give "o" back to RtlAssert so that we actually break on ASSERTs
- Check for the breakpoint instruction for deciding when to move forward the ProgramCounter. This is OK since KD removes all breakpoints set when hitting a soft BP
svn path=/trunk/; revision=72467
Implement the extended wrapping control (64 KB / 1 MB).
Transpose the video memory so that it corresponds to chain-4 and packed-pixel
modes. This allows us to optimize video memory access, since the majority of all
SVGA modes are packed-pixel. Only VgaReadMemory has been optimized so far.
svn path=/trunk/; revision=72464
Japanese translations for the following libraries: browseui, credui, ieframe,
iernonce, msports, msvfw32, mycomput, oleacc, samsrv, serialui, shimgvw, and
wldap32.
Patch by Katayama Hirofumi MZ. Thanks!
CORE-11884 #resolve #comment Committed in revision r72452.
svn path=/trunk/; revision=72452
- Remove invalid "ServiceType" registry value of the MPU401 driver.
- Fix MUP driver group.
- Fix MountMgr driver group.
- Fix rosfltmgr driver group.
- Add "Base" group list (until we have it inside some driver inf).
- Add tags for acpi, pci, null, beep and ksecdd drivers.
svn path=/trunk/; revision=72450
- CTrayWindow: Reorganise the code in logical groups to make it more readable. Move command handlers at the top of the file followed by the code that manages moving and resizing the taskbar. After that is code that paints the taskbar and the implementation of the ITrayWindow interface which I really doubt if it is needed. Finally at the bottom are the message handlers.
svn path=/trunk/; revision=72440
Implement starting address extensions, scanline offset extensions and memory
address extensions.
No more 64 KB memory banks. The code now uses SVGA_BANK_SIZE (1 MB) for
everything.
svn path=/trunk/; revision=72436
- Implement setting and removing breakpoints
- Implement single-stepping
- Only get past the breakpoint instruction when it comes from RtlpBreakWithStatus
- Implement writing to memory
- Always send the thread raising the exception to GDB to avoid confusing it
- Let GDB find the program counter alone by querying the registers (support was already there before.)
- Properly escape special characters on input
Ladies and gentlemen : the almost-fully functional GDB stub. (still no real multi-process support :-( )
To enable , in CMakeCache.txt :
- Set GDB:BOOL=TRUE
- Set _WINKD_:BOOL=TRUE
- Set KDBG:BOOL=FALSE
To do : give GDB the list of loaded drivers. Loading ntoskrnl.exe symbols at 0x80801000 already does a good enough job.
Default output is on COM1. Can be configure to any othe COM port with usual kernel options.
Hope you'll like it as much as I do ;-)
svn path=/trunk/; revision=72435
- Convert all *.mc files to UTF16 LE (without BOM) at build
- Use unicode flag in windmc/mc for source files
- Switch UNICODE_SOURCE files to UNICODE (must check for the presence of regression tests)
svn path=/trunk/; revision=72431
- Defer the changing of the window region while setting the window position.
- Patch based on Stefano Toncich work. See CORE-6897 and possibly CORE-7229.
svn path=/trunk/; revision=72429
- CMenuBand: Do not open the context menu on mouse down but on mouse up.
- Patch by Joachim Henze (reactosfanboy)
CORE-10830
svn path=/trunk/; revision=72401
- Use ExpandEnvironmentStringsW instead of PathUnExpandEnvStringsW in the pick icon dialog.
- Patch by Jared Smudde.
CORE-10962
svn path=/trunk/; revision=72399
- Properly invalidate service handles when closing/freeing them
Dedicated to Hermès and any regression chaser. FalsePositives--
svn path=/trunk/; revision=72396
- Tests focus mainly on loading + saving images.
- The implementation is not perfect yet, see CImage_WIP.txt for test results.
- The GDI+ functions should be fixed before this test can pass fully, MS' ATL fails in ReactOS, but passes on Windows.
svn path=/trunk/; revision=72332
- CDefView: Set the site of the context menu to the CDefView essentialy reverting r68727 which was wrong.
- CDefaultContextMenu: Implement IObjectWithSite interface. Don't use CWM_GETISHELLBROWSER to get a pointer to the shell browser. Do a IUnknown_QueryService to the site instead asking for either the shell browser or the shell view (and it is fine if there is none of them).
- Rename IDefaultContextMenu_Constructor to CDefaultContextMenu_CreateInstance and use ShellObjectCreatorInit to simplify its code.
svn path=/trunk/; revision=72327
- Use OleFlushClipboard while the browser window is being destroyed in order to make make any IDataObject that is in clipboard to render so as make is data available after the browser thread exits.
CORE-11565
svn path=/trunk/; revision=72325
- Get rid of MyHeap.
- Continue using safe string functions.
- Allow event logs themselves to be their own source. And store the full list of log sources in the "Sources" registry multi-string value.
- Correctly compute the number of records.
- Correctly return the event number and the write timestamp of reported events.
- Use a helper function for ElfrReportEventW/A and for ElfrReportEventAndSourceW that is now implemented.
- Rewrite the file.c functions using NT-APIs almost exclusively for file operations.
- Modify the logic of LogfReadEvents so that a RecordNumber == 0 in sequential read mode means we need to determine where to start the read operation, depending on whether a forwards-read or a backwards-read is performed. The log handle's CurrentRecord member is therefore initialized to 0 before usage.
- Adjust LogfAllocAndBuildNewRecord to take in input the event generation timestamp.
- Do not "compute" the RecordNumber of the new event in LogfAllocAndBuildNewRecord; it will be consistently assigned by LogfWriteRecord.
- Correctly initialize the OldestRecordNumber to zero for new (empty) logs.
- Perform extensive log validity checks when opening existing logs: log header and EOF record as well as boundary checks.
- Rewrite almost of the functions to support event log wrapping (see https://msdn.microsoft.com/en-us/library/windows/desktop/bb309026(v=vs.85).aspx ) and splitted records. Now our event logs are not corrupted anymore, and are readable under Windows 2k/xp/2k3/Vista+.
- As a consequence of supporting wrapping event logs we need to iterate through them at loading time in order to locate the valid EOF record (indeed it may happen that the log header is not correctly synced, and its Start/EndOffsets are invalid. The EOF record offsets contain on the other way the correct values).
The file.c fixes are a bit still work-in-progress, but the bulk of the code works. It is extensively tested in situ in my local VM since 2 months now.
CORE-11843 #resolve
svn path=/trunk/; revision=72236
- Implement resizing the taskbar in steps based on the way the rebar resizes. It works in windows (a bit buggy) and it would work in ros if our rebar could resize on demand.
- Let CStartButton handle the creation of the start button.
svn path=/trunk/; revision=72233
- Fix regression from 62529, striped all the MF_POPUP from the code, no way to know if the submenu is a drop menu. See CORE-9269.
svn path=/trunk/; revision=72227
InstallPrivileges:
- Use LsaAddAccountRights instead of LsaAddPrivilegesToAccount. This enables us to add privileges and user rights to a given account.
- Identify SIDs by a leading asterisk. Account names do not start with an asterisk.
defltws.inf:
- Add user rights.
- Add an asterisk before all SIDs.
svn path=/trunk/; revision=72217
- LsapRegQueryKeyInfo: Return the maximum sub key name length too.
- LsarEnumerateAccounts: User the maximum sub key name length to allocate a large enough buffer instead of using a fixed size one.
- LsarAddAccountRights: Use the proper value size to retrieve the system access attribute.
svn path=/trunk/; revision=72215
- Use NT functions to retrieve timestamps for events.
- Log kernel events with the current computer name.
- Don't hardcode variables types for sizeofs.
- Add type-checks for the data to be retrieved from the registry, and use default values in case the values do not exist or are invalid.
- Use ULONG_PTR to perform pointer arithmetics.
- Use string-safe functions for copy/concatenation.
- Cache EventLog source for eventlog service self-logging.
- Unlock the LogFile in LogfClearFile.
- Fix rounding in LogfAllocAndBuildNewRecord.
- Verify ELF handle validity in ElfrGetLogInformation.
- Implement IELF_HANDLE_rundown to correctly cleanup ELF handles when client apps shut down. Adapt also the parameter of ElfDeleteEventLogHandle for reusing it there.
- Update some code formatting.
CORE-11842 #resolve
I don't completely touch file.c as it contains most of my upcoming eventlog fixes...
svn path=/trunk/; revision=72213
- ElfrChangeNotify takes a IELF_HANDLE handle as its first parameter, not a pointer to it.
- Since we already use NT-like types (especially for USHORT variables), do the same for the other parameters (DWORD -> ULONG), and also use the Pxxx for pointers to xxx.
- Use Windows 2003 maximum size (0x3FFFF) for the event data to be written, instead of the Vista+ limit that is much smaller (0xF000). See also revisions r72207 and r72209.
CORE-11839 #resolve
svn path=/trunk/; revision=72211
- Fix the tests so that they test what they have to test, on ReactOS & Windows 2k3/XP. (Note that here, ReactOS used the more restrained event size limitations of Vista+ compared to those of Win2k3. I choose to test, and will implement, the size limitations of Win2k3.)
- Choose a different name for the test such that it doesn't collide with the 'eventlog' test from advapi32_winetest.
CORE-11838 CORE-11839
svn path=/trunk/; revision=72209
Fix structural errors, fix some dead links, fix wrong lang inclusions, fix trailing spaces etcetc
Some entries are dead, like nirlauncher, watercolor, tahoma and audacity. Feel free to fix em. (@holiday till monday now, cya)
svn path=/trunk/; revision=72205
- Fix up Language Layout Hotkey Toggle support for the new Keyboard switching. Support registry settings. Dedicated to Dmitry Chapyshev.
- The registry entry it reads from is the wrong (the short number) one. Someone with registry knowledge please help.
Also VK_LSHIFT is passed all the time and not VK_RSHIFT (WIP). Support for Left Alt and Control work including SysParam.
- Side Tracks : Fixed CORE-5683. ReactOS can switch from keyboard processing or from DeferWindowProc.
svn path=/trunk/; revision=72197
Add a stress test for tunnel cache implementation, where we have fun adding duplicated entries.
It doesn't seem to go well.
These tests are also known as "Learn your English ordinals", or as "Learn how to count in English". My pleasure.
CORE-11819
svn path=/trunk/; revision=72192
- Add CRegFolder using the guid item specific functions. So far it is only partly implemented with stuff like enumerating still missing.
- Use CRegFolder in CDesktopFolder, CDrivesFolder and CControlPanelFolder and stop using guid item specific functions.
svn path=/trunk/; revision=72188
While attempting to read data from disk in CcReadVirtualAddress(), always align our read size by pages.
That means that even on boundaries, we will read a complete page.
This fixes FSD relying on Cc to properly align reads and thus poorly failing in disk.sys because of unaligned reads.
Notably, it helps MS FastFAT loading a bit farther in ReactOS (but it still fails :-().
This also fixes a few kmtests.
CORE-11003
CORE-11819
svn path=/trunk/; revision=72186
- Fix misspelling "Dublicate" -> "Duplicate".
- Use ZeroMemory instead of memset(..., 0, ...).
- Don't hardcode most of the variable types for sizeof.
svn path=/trunk/; revision=72185
- Only accept an incoming connection on one listening socket, not all. Fixes use after free when multiple connection endpoints are assigned the same PCB.
CORE-11649 #resolve
svn path=/trunk/; revision=72183
New test case which is matching the MS FastFAT CcCopyRead (minus the offset) and shows clearly the issue in our Cc.
It also shows that my hack is utterly broken :-).
CORE-11003
CORE-11819
svn path=/trunk/; revision=72182
- Stub out fltlib.dll.
- Add basic implementations for FilterLoad and FilterUnload
- Remove the wine code, this lib talks directly to fltmgr.sys and is therefore a reactos only dll from now on.
svn path=/trunk/; revision=72178
- Implement 'Key Settings' and 'Change Key Settings' dialogs
* Now you can add, delete and change the input method, change the hotkey switching input methods. The system correctly responds to changes. It works fine in Windows 10, but has not yet been tested on ReactOS
svn path=/trunk/; revision=72171
Modify a bit the read test so that it actually fails in ReactOS. It instructs us that when it comes to file boundaries, our Cc fails to properly align read (whereas it should!).
This is the behavior exposed by the MS FastFAT.
CORE-11003
CORE-11819
svn path=/trunk/; revision=72169
- Don't hardcode the path in the shell namespace in any folder appart for CDesktopFolder and CDrivesFolder.
- Make SHELL32_CoCreateInitSF slightly more generic and use it when we need to create and initialise a shell folder.
- Now SHELL32_BindToFS is used only by CFSFolder but SHELL32_CoCreateInitSF still uses the generic _ILSimpleGetTextW (it accesses the pidl).
svn path=/trunk/; revision=72167
Complete the tests for Cc: not only check for alignment, but also check that expected data are returned.
Thanks to Thomas for his help on this :-).
CORE-11003
svn path=/trunk/; revision=72165
- Gracefully handle failure to obtain virtual memory when creating a VACB. We now no longer crash when running out of virtual memory during (large) file operations (but will still crash when running out of physical memory).
CORE-11533
svn path=/trunk/; revision=72164
- Fix bug that was uncovered by r72143. See CORE-11810.
- Move System Commands to server side. Leaving Alt-Tab and Scrolls.
svn path=/trunk/; revision=72155
After renaming a directory, rename any children FCB that would still exist in the FSD. This will allow next directory opening to properly work and open correct data.
This defeats corruption on directory renaming.
Unfortunately, this solution is not ideal and our driver should be reworked so that it quits using a hash table and it quits storing the whole path in the FCBs.
Deep thanks to Wim Hueskes and Thomas Faber for their help debugging the issue!
CORE-11377
svn path=/trunk/; revision=72145
- Use strsafe functions
- Use Shell Hooks in dll for detecting keyboard layout switching
- Fix bug in loading kbsdll
* Detection switch keyboard layout is now working in Windovs, but does not work in ReactOS (WH_SHELL not work in win32k)
svn path=/trunk/; revision=72143
- Detect Alt+Shift hotkeys and send input language change request message to window
* Switching the keyboard layout works now. The code needs to be improved
svn path=/trunk/; revision=72142
Don't hardcode a fixed size for the memory buffer holding the event details data to be copied into the clipboard, but instead compute it using the real lengths of the different strings. Use also StringCbPrintfW instead.
svn path=/trunk/; revision=72140
Implement LsarAddAccountRigths and fix some bugs along the way:
- LsarGetSystemAccessAccount: Fix an uninitialized varable.
- LsarOpenAccount, LsarCreateAccount: Make these functions wrappers around the real implementation in LsarpCreateAccount and LsarpOpenAccount.
- LsarEnumerateAccountRights: Fix the use of the wrong array index.
- LsarAddAccountRights: Implement it.
- LsarpLookupPrivilegeValue: Return a pointer to an LUID instead of an NTSTATUS. It is much earier to use it this way.
- LsapLookupAccountRightValue: Implement it.
svn path=/trunk/; revision=72139
Properly check for opened handles in subdirectories when we're about to rename a directory.
This helps reducing corruption where some renaming operations were allowed whereas they shouldn't have been.
CORE-11377
CORE-11426
svn path=/trunk/; revision=72136
Track child FCB in parent FCB to allow browsing them in case it's needed.
This allows fixing a FIXME and offering better performances when renaming a directory.
CORE-11377
CORE-11426
svn path=/trunk/; revision=72124
- Apply Wine commit b7f6362d (msvcrt: Use the correct object type for __non_rtti_object exceptions.) by Alexandre Julliard
CORE-11794
svn path=/trunk/; revision=72119
Refactor vfatMakeFCBFromDirEntry() and vfatUpdateFCB() so that they share code. It will help avoiding wild FCB modifications on renaming.
CORE-11377
svn path=/trunk/; revision=72113
- Remove unnecessary null checks & fix up cleanup in SepCreateToken and SepDuplicateToken. Based on a patch by Víctor Martínez Calvo
CORE-11768 #resolve
svn path=/trunk/; revision=72101
In case an automatic drive letter assignment was asked (net use * REMOTE), print the mapping that was performed on success.
ROSAPPS-303
svn path=/trunk/; revision=72098
Fixes suggested by Thomas:
- Don't dereference cached data after unpinning
- Pin big enough data to read direntries
CORE-11377
svn path=/trunk/; revision=72096
Implement the "net use" usage of the net command.
This allows connecting remote resources to local system with assigning them a local name, to enumerate such connected resources and to delete them.
This obsoletes the hackssign application.
The implementation is a bit... raw. It is mainly here to demonstrate what's doable in ReactOS now. And to help using features we were lacking up to now.
For instance, you can make use of 'net use * \\vmware-host\Shared Folders\{YOURSHARE}' to assign a local letter to your VMware shared folders.
ROSAPPS-303
svn path=/trunk/; revision=72088
Implement provider automatic selection for WNetUseConnection. That means you don't need anylonger to provider the network provider handling the remote name to establish a connection to the resource.
Already sent upstream.
Patch 2/6
CORE-11757
ROSAPPS-303
svn path=/trunk/; revision=72083
Time to react (again!).
Implement automatic local name redirection for new connection. This implements the behavior of the CONNECT_REDIRECT flag of WNetUseConnection.
Already sent upstream.
Patch 1/6
CORE-11757
ROSAPPS-303
svn path=/trunk/; revision=72082
- Fix crash while mouse cursor is moving over stress test window (RegEdit). This fixes VLC too. Tested SeaMonkey and it did not crash. See CORE-9169 and CORE-9836.
svn path=/trunk/; revision=72080
- Reorganize the header inclusions; add a PCH.
- Transform the event details dialog into a control that can be embedded:
* in a resizable dialog,
* or in a pane below the window listing the events.
CORE-11637
svn path=/trunk/; revision=72079
- Turn this thing into something useful
- Pretend we are only one process to GDB (making it a kernel-only debugger...) until the GDB team sorts this out
- This is a kernel debugger stub you know. You didn't seriously pretend that recursive functions would be fine, did you ?
[NTOS:KD64]
- Fix build
Pix or it din't happen : https://jira.reactos.org/secure/attachment/36322/source_level_debugging_ros.png
svn path=/trunk/; revision=72077
- Fix a recursion issue while processing posted messages. Related to CORE-10471. Dedicated to Thomas Faber for Free before Use testing.
- Pass extra information along with posted messages.
- Trigger an event when cursor position has changed.
svn path=/trunk/; revision=72076
- Create separate function for setup session manager variables
- Fixed a regression in msi package winetest after r72066
svn path=/trunk/; revision=72072
- Implement GetUserSid() (based on GetUserSidFromToken())
- Remove GetUserSidFromToken() and use new exported function
- Move SID functions to sid.c
- SetUserEnvironmentVariable should not fail, if can't get the short path. Instead, a long path
- Setup environment variables from Session Manager
* This fixes all winetests for userenv.dll (+20 passed tests)
svn path=/trunk/; revision=72066
[ARP]
[TRACERT]
- Incorrect to compare the variable of BOOL type with TRUE. Any non-zero value is considered to be "true".
[FREELDR]
- Variable is assigned values twice
- The 'strlen' function was called multiple times inside the body of a loop
- It is inefficient to identify an empty string by using 'strlen(str) > 0' construct. A more efficient way is to check: str[0] != 0
[NTOBJSHEX]
[SLAYER]
[CMICONTROL]
- It is inefficient to identify an empty string by using 'strlen(str) > 0' construct. A more efficient way is to check: str[0] != 0
[SHELL32]
- There is no sense in testing the pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error
- Verifying that a pointer value is not NULL is not required. The 'if (ptr != NULL)' check can be removed
- Fix copy-paste error in CMenuFocusManager::PlaceHooks()
[SRCLIENT]
- Remove unneeded check. A part of conditional expression is always false.
[DISK]
[ATAPI]
- Variable is assigned values twice
* All bugs found by PVS-Studio
svn path=/trunk/; revision=72059
- Move handling of DISPID_NAVIGATECOMPLETE2 event from CAddressBand to CAddressEditBox as the todo comments say it should be.
- Remove the todo entries that are complete.
- Remove IDispatch from CAddressBand as it is not really needed. Now CAddressBand takes care only of positioning and handling the button while CAddressEditBox does all the parsing and interaction with the browser.
svn path=/trunk/; revision=72055
- Use the _CreateInstance postfix for all functions that instantiate a class.
- Move the the CreateInstance functions of the exported classes to browseui.h where we can select uniformly which built in classes we use.
svn path=/trunk/; revision=72053
Fix Device_SaveCurrentSettings: do not reference BarArray too soon if the index is out of bounds (in that case it means we are handling a ROM "BAR").
CID 716153, reported by Victor Martinez Calvo.
CORE-11215 #resolve
svn path=/trunk/; revision=72050
- Factor CFSDropTarget out of CFSFolder.
- For now their code is mixed (no code was moved), until we decide where exactly is should be kept.
svn path=/trunk/; revision=72047
- CExplorerBand: TranslateAcceleratorIO should return S_FALSE when it doesn't process the message in order to let other components process it.
CORE-11709
svn path=/trunk/; revision=72043
- Do not hardcode the values of some flags used with GetKeyState.
- Rework a bit the 'OnScroll' function.
- Implement mouse scrolling the console.
CORE-9900 #resolve
CORE-8394
- In mouse selection mode, allow the user to enlarge the current selection area by pressing the SHIFT key together with clicking on some point.
svn path=/trunk/; revision=72030
- Query the drop effect from the key state. After latest wine sync we correctly get all possible effects instead of the effect of the last DragOver event.
CORE-11681
svn path=/trunk/; revision=72026
Import three fixes from my local GitHub repository:
- Don't attempt to remove Vcb from list twice on shutdown
- Properly add CCB to root_file
- Init cache for root_file so that cache uninit on shutdown isn't problematic
This fixes BTRFS in ReactOS.
These fixes have already been submitted upstream (https://github.com/maharmstone/btrfs/pull/23).
CORE-11674
svn path=/trunk/; revision=72024
(Add also the patch "Add patch to support IDF_CHECKFIRST in SetupPromptForDisk." by DarkPlayer - 541cc8d08661980dfe80fe2bb9dd27c91879e09f)
svn path=/trunk/; revision=72009
- Transform the cached OsVersionInfo structure into a OSVERSIONINFOEXW that is then reused in SetupDiGetActualSectionToInstallExW.
- Remove few unused hardcoded strings.
- Add two TRACEs in SetupDiGetActualSectionToInstallExW to debug diverse INF file installation problems.
- parser.c: enclose the contents of the for-loop inside braces.
- Implement pSetupSetGlobalFlags and pSetupModifyGlobalFlags, see https://msdn.microsoft.com/en-us/library/bb432397(v=vs.85).aspx
- Popup an error message box in InstallHinfSectionW if an error happened and if interactive setup is allowed (through the global setup flags).
svn path=/trunk/; revision=72008
- CExplorerBand: Implement showing the context menu on right click.
- Part of the work submitted by Sylvain Deverre.
CORE-10838
svn path=/trunk/; revision=72004
- CExplorerBand: Expand the tree view to the current folder when a new folder is browser (either with the addressbar or by double clicking a folder).
- Part of the work submitted by Sylvain Deverre.
CORE-10838
svn path=/trunk/; revision=72003
◾ Don't return TRUE when CB_SETITEMDATA fails.
◾ Avoid pScheme NULL dereference if allocation fails. CID 1223154
◾ Avoid overflowing the destiny buffer by using StringCchCopy() CID 510953
and:
1) Make it more readable by returning as soon as possible when an error happens.
2) Make it more readable by reducing the nested ifs-checks.
3) Remove the added string in the combobox if the sound scheme buffer mem allocation fails (pt.3 modified).
CORE-11603 #resolve #comment Thanks!
svn path=/trunk/; revision=72000
- Unconditionally acquire the VACB lock during map/pin/unpin operations and release it appropriately
CORE-11555 #resolve
CORE-11654 CORE-11504 CORE-11328 #comment This might be fixed with r71993. Could you retry please?
svn path=/trunk/; revision=71993
Always reset the AC latch before writing to the AC index register.
CORE-11669 #resolve #comment Should be fixed in revision r71990.
svn path=/trunk/; revision=71990
- Use helper functions for doing the filtering on the events (idea by Mark Jansen).
- Fix the states of menu items, depending on which event log/item (log file/filter; event item...) is currently selected.
- Correctly empty the event items list & cache whenever an event log/filter is closed (and avoid a crash when all logs/filters are closed and someone attempts to open an event item), during concurrent accesses. I use a reference count and AddRef/Release helpers.
- Get rid of the annoying log loading popup, and use instead the loading message displayed in the events listview as well as a progress-bar in the status bar.
CORE-11637
svn path=/trunk/; revision=71989
Provide ReactOS specific implementation for WNetGetConnection(), we cannot use Wine's due to Wine specific MountMgr calls.
svn path=/trunk/; revision=71984
- CDefView: Add the skeleton check that should be used to implement moving items in the CDefView. Nothing more is implemented because GetKeyState is completely unreliable.
svn path=/trunk/; revision=71979
Service logon page:
- Handle the interactive service type flag.
- Change the service configuration in the apply function.
svn path=/trunk/; revision=71971
- Minor whitespace fixes in main.c
- Use a correct info msgbox title when showing regedit command-line usage. Something to think about: translate the cmdline usage! :)
svn path=/trunk/; revision=71966
Service logon property page:
- Fix initialization and display bugs.
- Start work on the 'Apply' function. It doe not apply changes yet.
- Add password check messages.
svn path=/trunk/; revision=71965
Commit "Part 1" of my Improvements for the Event Log Viewer. See CORE-11637 description for more details (too long to stay there).
svn path=/trunk/; revision=71958
Check for NULL pointers before derreferecing them in ScmIsSameServiceAccount().
Patch by Victor Martinez Calvo.
CORE-11599 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71954
Remove unneeded NULL checks at CreateServiceA/W and ChangeServiceConfigW/A().
Patch by Victor Martinez Calvo.
CORE-11610 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71953
Fix cleanup in LsarRetrievePrivateData().
Modified patch by Victor Martinez Calvo.
CORE-11611 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71952
No need to check for whether 'pBuffer' is NULL to call NetApiBufferFree, because:
- 'pBuffer' was used above this call without any particular checks;
- 'pBuffer' can be only null when NetUserEnum fails with an error different from NERR_Success or ERROR_MORE_DATA. But this case was actually checked for before using 'pBuffer'.
By Victor Martinez aka. Mr.Coverity ^^ :)
CID 1363629
CORE-11598 #resolve
svn path=/trunk/; revision=71929
Initialize utf8_ch_len to zero before using it (at each turn of the for-loop). As I couldn't find this code in Wine, I couldn't see whether they already fixed it or not. Caught by Victor.
CORE-11596
svn path=/trunk/; revision=71928
- Fix leaking 'pSetupData' in case of failure. CID 1363604
- Since we know that in the remaining of the code, 'pSetupData' is a valid pointer, we can free it at the very end without rechecking whether it was NULL or not.
CORE-11591 #resolve
svn path=/trunk/; revision=71927
Don't overrun FillGrid() when accessing the last elements. Rewrite the code using 'for' loops, in the same style as what is done elsewhere in the code. CID 1363552
CORE-11597 #resolve
svn path=/trunk/; revision=71924
- BiOpenKey is being feed with the wrong ElementHandle, it should be feed with ElementsHandle one. CID 1363670 . By Victor Martinez Calvo. CORE-11600 #resolve
[BOOTMGR]
- Fix an Assign vs Compare issue. CID 1363558 . By Victor Martinez Calvo. CORE-11592 #resolve
svn path=/trunk/; revision=71923
- Fix regression in API:RealGetWindowClass test due to wine sync/port.
- ReactOS use of DIALOG_get_info is an enhanced fork of the same wine function.
svn path=/trunk/; revision=71915
- Use StringCbCopyW
[PROGMAN]
- Use StringCbCopyW: CID #1363712.
- Don't read registry values in a registry key if we failed to open it. CID #514350.
svn path=/trunk/; revision=71912
- Don't hardcode buffer string size in GetPartTypeStringFromPartitionType calls.
- Possibly check whether the first character of the PartTypeString string is NULL before printing a generic partition information in case the partition type is unknown. We might check instead for the STRING_FORMATUNKNOWN string...
- Don't check for PartTypeString being NULL since it's not a pointer. CID #1363481 and CID #1363494.
svn path=/trunk/; revision=71911
- Cleanup error codes for Classes and Menus.
- Update (Sync/Port) User32:Dialog to Wine Staging 1.9.11, see CORE-11368.
- Now pass exactly the same tests as windows, except for the two ToDos lines 1596 & 1617. The other test failures are on wine for not being compatible!
svn path=/trunk/; revision=71904
CcMapData 4th arg isn't a boolean but a flag. Fix it accordingly
CcPinRead 4th arg isn't a boolean but a flag. Fix it accordingly
svn path=/trunk/; revision=71890
Call CcMapData(), CcPinRead() inside a SEH block
This allows returning more significant error codes on failure
[NTOSKRNL]
Enable Thomas code for raising exceptions
CORE-9848
svn path=/trunk/; revision=71888
- Raise exceptions on failure in CcMapData if RAISE_FROM_CC_MAP_DATA is defined. This is how the function should behave, and should be enabled once all our file system drivers correctly handle this.
CORE-9848
svn path=/trunk/; revision=71883
- Fix the last parameter of a StringCchCopyEx call; fix a misspelling.
- Do not exclusively use GetFileAttributesEx to retrieve file attributes (for the file properties dialog). Indeed, it happens that this API (as well as GetFileAttributes), and equivalently, NtQueryFullAttributesFile (as well as NtQueryAttributesFile), can fail on *locked system* files (on Win2k/Win2k3/Win7, and on ROS), such as C:\pagefile.sys . See for example http://stackoverflow.com/questions/16772931/getfileattributes-on-locked-system-file and my comment in CORE-10757 . Therefore to retrieve file attributes also for these files we do a trick: we call FindFirstFile on the full path to said file. It happens that FindFirstFile can work on locked system files, and thus we are able to retrieve their attributes (+ size and file dates) as well!
See the code for more details.
CORE-10757 #resolve
svn path=/trunk/; revision=71880
- Do not use a "magic number" for the return value 0xFFFFFFFF from GetFileAttributes.
- Use a meaningful variable name for retrieving the result of GetFileAttributes.
svn path=/trunk/; revision=71879
- Display 3 different "types" of logs in the tree: "system logs": Application, Security, System, that are the minimal set of standard logs present on NT systems; "application logs": all the other logs, that are available to the event log service (both "system" and "application" logs are registered in the registry, under the "EventLog" service key). Finally comes the "user logs" that consists in all the log files that are manually opened by the user inthe event log viewer.
- Use 'PEVENTLOGRECORD' instead of 'EVENTLOGRECORD *'.
- Don't hardcode the buffer length values in the size parameters used in the GetEventUserName function.
- Merge both GetDisplayNameFile and GetDisplayNameID helpers into a single GetDisplayNameFileAndID function, since the former two were always called in tandem.
- Forbid editing the labels of the tree root nodes "system"/"application"/"user" logs.
- Splitter bar: set the cursor only when it is on the bar, not when it is above the status bar...
- Resize the status bar only in WM_SIZE events.
- Remove few dead code.
svn path=/trunk/; revision=71867
- Implement IoCreateFileSpecifyDeviceObjectHint - will be needed for fltmgr
- Rename IoCreateFile to IopCreateFile and forward both IoCreateFile and IoCreateFileSpecifyDeviceObjectHint to that routine
- Add support to IopParseDevice to check for a top level device hint and use that instead of the real device.
- Create a file object extension in IopParseDevice and use that to store our top level device hint data
- Update IoGetRelatedDeviceObject to check for file object extensions and return the 'fake' top level device if we have one
svn path=/trunk/; revision=71862
- Implement basic versions of FltRegisterFilter and FltUnregisterFilter
- Add layout of data for FLT_FILTER, FLT_INSTANCE, FLT_OBJECT and their accociated data
- Add basic rundown protection for the FLT_FILTER object
- Removed from the build for now because GCC doesn't like our fltkernel.h header
svn path=/trunk/; revision=71859
Remove .net 4 again. We have a rule regarding entries in RAPPS. Stuff that works can be added, thats why I ask for pics proving that. I fully confirm a working setup, but thats it. I have no clue how these pics running paint.net were made, but let me add this one: ONLY pics made of vanilla TRUNK as proof please. I will be readded as soon as it really works in TRUNK.
svn path=/trunk/; revision=71854
- Change the closed-folder icon, by Jared Smudde :)
- Add "open" and "log settings" menu items. Implementation will be done later.
svn path=/trunk/; revision=71850
Add Far Manager in ReactOS App Manager
ROSAPPS-328 #resolve #comment Added, thx ^^ Btw, ROSAPPS is NOT for RAPPS entries, but for rosapps subtree bugreports.
svn path=/trunk/; revision=71841
- Use a tree to list the available system logs (and in the future, the manually opened logs within the viewer).
- Allow the user to resize the treeview/listview.
- Use the standard shell about-box dialog to display the "About..." notice + copyright.
- Improve the Event Log Viewer icon, and add new ones (folders + eventlog file).
svn path=/trunk/; revision=71836
Implement an 800x600 256-color mode for testing purposes. Its register values
and mode information should be correct already.
Properly reset the VCLKs and the MCLK.
Clear the screen after switching to an extended video mode.
Fix the screen size computation in "High Resolution" modes.
svn path=/trunk/; revision=71830
Fix yet another MSDN bug: ChangeServiceConfig2 ALWAYS requires SERVICE_CHANGE_CONFIG and SERVICE_START access rights and an enabled SE_SHUTDOWN_PRIVILEGE privilege when you try to set the failure actions. Otherwise, you will just get a STATUS_ACCESS_DENIED.
- Remove the access and privilege checks from ScmSetFailureActions and move them to RChangeServiceConfig2W.
svn path=/trunk/; revision=71814
- Use RtlCopyMemory,
- Don't hardcode types for sizeof(parameters),
- Braces for 'for'-loops,
- while (TRUE) instead of while (1),
- Use ULONG for integer iterator that cannot be negative,
- Start sentences with capitals.
svn path=/trunk/; revision=71812
- Duplicate the standard (input/output/error) handles from the parent process, when creating a new one.
- Properly fail RtlCreateUserProcess if any of the ZwWriteVirtualMemory or RtlpInitEnvironment calls fail.
svn path=/trunk/; revision=71811
Revert to r71800.
Do not remove the time zone index because it is used to map countries to timezones.
CORE-11526 #resolve
svn path=/trunk/; revision=71808
Remove the standard VGA modes from the VBE table as they're irrelevant for the
VBE driver.
Fix several bugs in INT 10h, AX = 4F02h:
- Don't crash if the video mode was not found.
- AH should be set to 1 on failure, and 0 on success.
svn path=/trunk/; revision=71806
Implement getting/setting the current VESA video mode.
Reset the extended SVGA registers when switching to a standard VGA mode.
svn path=/trunk/; revision=71803
Why? For ReactOS/Windows interoperability purposes.
Because if we don't do that, and then we use our shell32.dll on Windows and use the Run-File dialog, we start adding entries in the RunMRU registry key and, when those are then read by Windows' shell32, they are cut at the last backslash character...
CORE-11390 #resolve
svn path=/trunk/; revision=71802
Remove the Index value from the time zone entries. We do not need it any more and it has been removed from Windows Vista.
svn path=/trunk/; revision=71801
- Add "Belarus Time Zone".
- Add "Russia Time Zone 3", "Russia Timezone 10" and "Russia Time Zone 11".
- Fix some standard time and daylight time names.
svn path=/trunk/; revision=71800
- No need to explicitely convert the pointers to PVOID in the NtQueryInformationProcess calls, and do not hardcode the size-of the variable being passed in parameter.
- "Fix" FatalAppExitW: it's only in checked builds that one can continue running the application even after a FatalAppExitW call.
svn path=/trunk/; revision=71793
Export RtlMapSecurityErrorToNtStatus since we have it available in our RTL library (however it is still only stubbed).
[RTL][NDK]
- NT-ify a bit error.c
- Add the prototypes of the functions that manipulate the "last Win32 error" and "last NT status".
- Add the prototypes of the functions that get & set the thread-error-mode (for hard-errors).
- Define some prototypes for NTOS_MODE_USER only.
[CONSRV]
RtlGetLastNtStatus is now in the NDK, no need to keep its prototype there anymore.
svn path=/trunk/; revision=71767
debug.c:
- Don't hardcode the size of the string buffers.
- Only use KEY_QUERY_VALUE right to query the values inside a registry key.
- Fix size parameter value given to RegQueryValueEx.
- Use ZeroMemory instead of memset(..., 0, ...) (heh, we're in Win32 guys!)
- Close thread-and-process handles of the spawned debugger app.
svn path=/trunk/; revision=71716
Enable LsaEnumerateLogonSessions and LsaGetLogonSessionData implemtations, used by VirtualBox guest additions.
CORE-7424
svn path=/trunk/; revision=71715
The "BuildLab" string now contains the build number (date + revision number), together with the compiler version used to compile ReactOS.
CORE-6611 CORE-7889 CORE-8877
[WIN32K]
Now use the "BuildLab" string that is read from the registry to be displayed in the desktop watermark, instead of building it at run-time.
Addendum to r71504, CORE-11349
Based on an idea by Mark Jansen (learn_more).
svn path=/trunk/; revision=71714
- Add a test for DnsQuery. Patch by Víctor Martínez Calvo, with additional tests and fixes by me.
ROSTESTS-226 #resolve
svn path=/trunk/; revision=71709
- Whitespace fixes (dosdev.c, except.c, loader.c)
- except.c: Remove some unneeded casts; NtQueryInformationProcess for 'ProcessDebugPort' is implemented and therefore it will never return STATUS_NOT_IMPLEMENTED.
svn path=/trunk/; revision=71703
CORE-11465 #resolve #comment Fixed! You can paste cyrillic text in the console without problems, and it is correctly understood.
svn path=/trunk/; revision=71701
- Update the resource program description.
- Convert to full UNICODE.
- Use Win32 functions where possible.
- Factor-out the usage of QueryDosDevice into a QuerySubstedDrive function, that returns error codes according to whether the specified drive is a mapped (substed) drive, or is just an existing drive that is not a mapping, or if the drive does not exist. This allows us to detect attempts to use a drive letter that is not a mapped drive, to define a new mapping, and if so we reject such attempt.
This fixes CORE-10681 #resolve #comment Fixed with another patch according to my last remark.
svn path=/trunk/; revision=71695
- Headers reordering.
- Use ARRAYSIZE.
- Give the internal helper function IsSubstedDrive just the single letter of the drive to check for.
- AddSubst and DeleteSubst: both take a drive string of *exactly* two characters: the drive letter and the ':' (and of course there's the NULL terminator): fix the parameter check in this regard.
- AddSubst: It is possible on Windows to use the DefineDosDevice API to map a drive letter to a *file* (yes yes!!) (but the mapping made is unusable). Forbids this case in SUBST since it is not made for that.
CORE-10681
svn path=/trunk/; revision=71693
- Create the absolute default service security descriptor when services.exe starts up.
- Create a self-relative security descriptor whenever it is needed.
svn path=/trunk/; revision=71684
Create an individual security descriptor for each service. We cannot use a common default security descriptor because RtlSetSecurityObject will free the old security descriptor when we try to set a new one.
svn path=/trunk/; revision=71679
- No need to pop up an error box if we cannot find an event message resource DLL for the current event log.
- Flatten out GetEventMessageFileDLL a bit.
- Fix a comment.
svn path=/trunk/; revision=71678
Use self-relative security descriptors only:
- Convert the default service security descriptor to the self-relative format.
- Remove security descriptor format conversions from ScmReadSecurityDescriptor and ScmWriteSecurityDescriptor.
svn path=/trunk/; revision=71676
Don't allow renaming a directory if there are opened files in it.
The way we do it for now isn't fully optimal and could be really improved, but that's a first step in the right direction.
This should help getting rid of FAT volumes corruption.
This also fixes a few winetests it seems.
CORE-11426 #comment Patch that fixes bug 3 committed in r71674
svn path=/trunk/; revision=71674
- Add a test for CShellLink GetPath/SetPath behavior with environment variables. Patch by Andreas Maier.
ROSTESTS-229 #resolve
svn path=/trunk/; revision=71672
- Remove a unused header.
- Start (re)working on the functions that retrieve strings associated to event categories and messages.
- Just display the event category number if we are unable to retrieve its associated string.
- If we cannot retrieve the event source for formatting purposes, use a default string and append the event strings to it.
- Fix some problems related to the usage of 'lpComputerName': this global variable stores the computer name on which the Event Viewer is running (or connected to) and view the available logs. Don't overwrite it with computer names from the events.
- Modify some localized strings in the resource files. Translators, please review/fix translations!
svn path=/trunk/; revision=71670
- Use C-style comments.
- Move the helper FreeRecords function closer to where it is used.
- Use the EVENTLOG_BASE_KEY define instead of re-hardcoding the registry path to the EventLog service.
svn path=/trunk/; revision=71669
- Reorganized some commands in order to add erros and success messages.
- Added error and success messages.
- Enabled usage text for the failure command.
svn path=/trunk/; revision=71645
- Properly implement ObpValidateAccessMask
- If the security descriptor has a system acl, the caller will need access to it
svn path=/trunk/; revision=71636
- Use similar shell def-view window styles as on Windows.
- Add a "hack" to force the shell progman desktop window to get its correct window name, when running our shell on Windows. I don't know why calling CreateWindowExW(WS_EX_TOOLWINDOW, szProgmanClassName, szProgmanWindowName, ...) with a valid szProgmanWindowName string still persists in setting the window name to NULL... If someone has an idea, please let me know!
- Addendum to CORE-11375: Create the shell desktop view with the same size as the current desktop's workarea. Confirmed with ApiMonitor on Windows. I add some "FIXME" to make future developers think about possible improvements in the code.
svn path=/trunk/; revision=71635
- Move ParseCreateArguments to the misc.c file, rename it to ParseCreateConfigArguments and tweak it for use in the config command.
- Implement the config command.
svn path=/trunk/; revision=71633
- Add the 'description' command.
- Fix a little display bug in the 'qdescription' command: Do not print '(null)' if the service does not have a description.
svn path=/trunk/; revision=71627
By Jared Smudde, Lee Schroeder, Ercan Ersoy, manuel.
Icons adapted from Tango Icon set and from public domain OpenClipArt (https://openclipart.org/share)
Part 1/2
CORE-10253
svn path=/trunk/; revision=71613
- Read the service security descriptors when the service list is created.
- Assign and write the default security descriptor when a service does not have its own security desciptor.
- Delete a service security desciptor when the service is deleted.
svn path=/trunk/; revision=71611
Properly round up 64b values.
This fixes reads on 4GB+ volumes.
Patch by Wim Hueskes.
CORE-10932 #resolve #comment Thanks for the patch! Commited in r71610
svn path=/trunk/; revision=71610
- Create a default service security descriptor.
- RCreateServiceW: Assign the default security descriptor to new services on service creation and store it in the registry.
- RQueryServiceObjectSecurity: Return the services security descriptor to the caller.
svn path=/trunk/; revision=71603
- Remove the ugly WS_EX_CLIENTEDGE style from Solitaire and Spider.
- Make use of the member function parameters when calling CreateWindowEx in cardlib.
Patch by "toe_head2001".
CORE-11391
svn path=/trunk/; revision=71602
- Fix the output of localized strings (and use the "well-known" PrintResourceString function already used in all the other cmdtools)
- Unconditionally increase the number of lines & the offset when performing the comparison.
svn path=/trunk/; revision=71601
- The comparison buffers contain bytes, not (T)CHARs. Pointed out by Stefan Fulea in CORE-11060.
- Remove a now unnecessary comment header "history" line since we have SVN for that instead.
svn path=/trunk/; revision=71599
- Patch by Jared Smudde : Set text background the same color as the rectangle.
- Adapted by Hermès Bélusca-Maïto. Themes, see CORE-11364.
svn path=/trunk/; revision=71598
Only add a history entry if console echo is enabled. This ensures that anything sent to the console when echo is disabled (e.g. binary data, or secrets like passwords...) does not remain stored in memory.
svn path=/trunk/; revision=71593
- Remove a wrong assertion that I introduced in r70281 concerning Console->LinePos.
- Fix some boundary conditions.
- Completely reset line discipline variables when the line buffer is freed.
- Fix a potential buffer overrun in the case ReadControl->nInitialChars was larger than Console->LineMaxSize (the size of Console->LineBuffer), which serves to initialize Console->LineSize, Console->LinePos, and copy nInitialChars characters from user buffer.
CORE-11380 CORE-10997 #resolve
svn path=/trunk/; revision=71591
- Use #ifdef __REACTOS__ instead of the #if (as done elsewhere in the code).
- The listview control hosted in a shelldll_defview has its caption named "FolderView".
svn path=/trunk/; revision=71531
Don't blindly delete notification item while there are still ongoing user APC.
To do so, we use reference count, and attempt to release in various places: after APC ended, and on notification unregistration.
This avoids race condition with item between usage and freeing and thus use-afree-free (leading to explorer crash) while browsing rapidly accross directories.
CORE-10941 #resolve
svn path=/trunk/; revision=71528
- Pass indistinctly WM_SYSCOLORCHANGE and WM_SETTINGCHANGE messages sent to the shell progman window, down to its children windows (SHELLDLL_DefView and its associated ListView), as shown by tracking windows messages on Win2k3.
- If we receive a WM_SETTINGCHANGE with wParam == SPI_SETWORKAREA, i.e. the desktop working area was modified, we need to resize the underlying DefView, as shown by tracking windows messages on Win2k3. For the moment we implement support for only the primary monitor.
CORE-11375 #resolve
CORE-5618 #resolve
CORE-5620
svn path=/trunk/; revision=71525
- Minor stylistic whitespace changes.
- Use 'IDA_DESKBROWSER' instead of hardcoding its value.
- The shell progman window uses the COLOR_DESKTOP as its hbrBackground: partly revert r66271.
- Correctly initialize rcDesk structure before using it for a CreateWindowEx call.
svn path=/trunk/; revision=71524
- Start to convert the code to pure Unicode.
- Use _countof where needed.
- Use UINT for loop counters where the counter value is always positive.
- Some whitespace fixes.
svn path=/trunk/; revision=71512
- CExplorerBand: Navigate to the selected item when the selection changes.
- Part of the work submitted by Sylvain Deverre.
CORE-10838
svn path=/trunk/; revision=71510
- CExplorerBand: Implement populating the treeview. You can navigate the shell namespace but clicking on an item doesn't do anything yet.
- Part of the work submitted by Sylvain Deverre. CExplorerBand::InsertItem was rewritten by me to be efficient.
CORE-10838
svn path=/trunk/; revision=71508
- In LdrpLoadImportModule, check for import module extension, and append it if not found.
- Fix LdrpLoadImportModule prototype.
CORE-11360
svn path=/trunk/; revision=71507
Add the compiler ID and version to the ROS version desktop watermark. Idea of encoded & learn_more, thanks :)
[BOOTDATA]
Enable the ROS version desktop watermark on our daily builds.
CORE-11349
svn path=/trunk/; revision=71504
I emphasize that such hacks are absent from Windows' i8042prt.sys driver, yet it is able to correctly drive such touchpads.
CORE-11344 #resolve
CORE-6901
svn path=/trunk/; revision=71495
- CExplorerBand: Implement IOleWindow, IDockingWindow, IDeskBand, IObjectWithSite, IInputObject and IPersist interfaces. This creates and shows an empty tree view control in the bar.
- CShellBrowser: Restore the hack to use the local CExplorerBand instead of the system one.
svn path=/trunk/; revision=71492
- Swap two values so that they are listed in alphabetical order.
- PaintDesktopVersion is a DWORD value, as such, use a correct initializer.
svn path=/trunk/; revision=71487
- Define ACPI_USE_SYSTEM_CLIBRARY to use our libc functions rather than acpica's own implementations. Fixes MSVC release build and obsoletes some ROS-diffs
CORE-11184 #resolve
svn path=/trunk/; revision=71482
The buildno #defines KERNEL_RELEASE_STR, KERNEL_RELEASE_RC (introduced in r756 17 years ago), and REACTOS_DLL_RELEASE_STR, REACTOS_DLL_RELEASE_RC (introduced in r11297 12 years ago) are things that never really caught out in our project. They were actually eclipsed in favour of the more common KERNEL_VERSION_STR and co. in our code.
I therefore remove the very last remains of the old KERNEL_RELEASE_xxx defines and replace them with KERNEL_VERSION_xxx ones.
svn path=/trunk/; revision=71478
- Implement CShellBrowser::Navigate and CShellBrowser::Navigate2.
- Part of the work submitted by Sylvain Deverre.
CORE-10838
svn path=/trunk/; revision=71475
- Implement the toolbar that allows the user to close the band.
- Part of the work submitted by Sylvain Deverre.
CORE-10838
svn path=/trunk/; revision=71474
- CShellBrowser: Implement the Explrer bar menu. Implement checking if a band is already loaded. Destroy all bands while destroying the browser window. Misc changes.
- Part of the work submitted by Sylvain Deverre.
CORE-10838
svn path=/trunk/; revision=71473
- Implement most methods of IBandSite for CBaseBarSite.
- Part of the work submitted by Sylvain Deverre.
CORE-8814 and CORE-10838
svn path=/trunk/; revision=71465
It is enough to check the "ListviewShadow" registry setting for deciding whether or not the desktop icons should be transparent.
Now we also get transparent icons in safe mode with no wallpaper.
Thanks Jared Smudde for having pointing this out to me.
svn path=/trunk/; revision=71464
- Move the implementation of the search button from CInternetToolbar to CShellBrowser.
- Part of the work submitted by Sylvain Deverre.
CORE-8814 and CORE-10838
svn path=/trunk/; revision=71463
- CBaseBar, CBaseBarSite: Implement IInputObject and IInputObjectSite interfaces
- Part of the work submitted by Sylvain Deverre. Simplified by me.
CORE-8814 and CORE-10838
svn path=/trunk/; revision=71461
- CBaseBar, CBaseBarSite: Add an initialization method in order to set the basebar and the basebar site as vertical.
- CShellBrowser: Create the basebar and the basebar site with the right orientation.
- Part of the work submitted by Sylvain Deverre.
CORE-8814 and CORE-10838
svn path=/trunk/; revision=71460
- Update the definition of SHEnumClassesOfCategories.
- Part of the work submitted by Sylvain Deverre.
CORE-8814 and CORE-10838
svn path=/trunk/; revision=71459
- Recycle the 'Rect' variable instead of introducing a new one.
- Adapt the colour of the ROS desktop version text according to the desktop brush used and/or whether a wallpaper is used. This is inspired from what is done in the shell.
svn path=/trunk/; revision=71457
- Write the desktop version string using user-defined font (the same as the one used for window caption titles).
- Reorganize a bit the code of IntPaintDesktop.
svn path=/trunk/; revision=71455
Properly count used/unused partitions.
This fixes booting ReactOS when it is installed on a partition entry after an unused partition entry.
Patch by Wim Hueskes
CORE-11330 #resolve
svn path=/trunk/; revision=71453
- Remove redundant UI elements in the "Advanced appearance" dialog.
- Add the possibility to modify the colors of inactive caption bar text and flat menu highlight (for XP/2k3+ only).
svn path=/trunk/; revision=71452
Introduce tests for Cc :-)
Currently, we only test CcCopyRead for specific alignment matters. It shows that under certain conditions, our Cc doesn't align reads it does, leading to later failure in disk.sys.
This reproduces an error observed with MS FastFAT in ReactOS.
CORE-11003
svn path=/trunk/; revision=71445
- Only use the minimum required registry rights needed in RegOpenKeyEx and RegCreateKeyEx calls.
- Fix SetDesktopBackColor function where we tried to save the selected desktop background color in the registry only in the case where opening the corresponding registry key actually failed... >_>
Now we do the right thing!
svn path=/trunk/; revision=71443
- Implement VersionLie shims
- Add tests for the VersionLie shims
- update get_host_winver prototype (thanks to Thomas for pointing out my err)
We cannot apply this shim yet, since a required part of the infrastructure is missing.
svn path=/trunk/; revision=71442
Implement some macro's and functions that help when registering shims.
These are all written in C, so that wine can use the shim libraries as well.
svn path=/trunk/; revision=71439
Fixes and improvements to datetime CPL applet.
Patch by Carlo Bramini.
Replaced the original RegLocalQuery() by QueryTimezoneData() to simplify the error handling.
Modification by Eric Kohl.
CORE-11284 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71433
Don't override the hidden sectors value set during format when seting up bootsector.
This allows installing ReactOS on a FAT partition that doesn't start on sector 63. Successfully tested with a partition starting on sector 2048, for instance.
Patch by Wim Hueskes
CORE-8825 #resolve #comment Committed in r71418. Thanks for the debugging and the patch!
svn path=/trunk/; revision=71418
Add support for ReiserFS volumes.
Patch by Peter Hater.
This is done for ReiserFS support! Enjoy :-)
CORE-11005 #resolve
svn path=/trunk/; revision=71417
Cherry pick r71407 by Trevor Thompson:
- Rewrote FsRtlGetNextBaseMcbEntry(), FsRtlLookupBaseMcbEntry(), and FsRtlNumberOfRunsInBaseMcb() using simpler logic.
This finally fixes broken MCB handling in ReactOS and allows FSDs relying on MCB to properly work in ReactOS!
CORE-11002 #resolve #comment Fixed in r71409
svn path=/trunk/; revision=71409
Rework a bit the way mapping and pinning is working in ReactOS Cc. This is still wrong regarding the way Windows does it, but at least, it offers us more features for a more compatible behavior exposed to FSDs.
First of all, reintroduce the mutex used to lock VACB. Moving there to a resource wasn't enough to work address the issue. This reverts r71387.
Introduce the resource in the BCB, as it should be. This resource will be unused until pinning occurs. In such case, the VACB mutex gets unused so that we can get the BCB released by another thread without deadlocking the associated VACB.
The VACB can be locked again after the last unpinning operation.
Basically, that fixes drivers than pin in a thread and unpin in another thread, after having changed BCB owner. Until now, it would just have deadlock or crashed ReactOS.
The implementation of this preserves hacks and stubplementations already in place in Cc (let's say it's another hack on top of hacks).
It was successfully tested with Ext2Fsd 0.66.
Short summary:
- Replace the VACB resource by a mutex
- Introduce a resource in the BCB
- Fixed CcPinRead() implementation so that it respects PIN_EXCLUSIVE flag
- Implement CcUnpinDataForThread() so that it can unpin data which ownership was changed
- Implement CcSetBcbOwnerPointer() so that it properly set BCB owner and allows unpinning with CcUnpinDataForThread()
CORE-11310 #resolve #comment Committed in r71406
svn path=/trunk/; revision=71406
On CcInitializeCacheMap() call, keep track of the PinAccess value so that we can later check it on pinning.
It shouldn't be set to FALSE when the user attempts to perform pinning
CORE-11310
svn path=/trunk/; revision=71404
* Return TRUE from SetThreadStackGuarantee. Allows .NET 2.0 setup to complete and consequently allows some .net apps to work in ReactOS. Patch by the self-proclaimed Master of The Universe, Samuel Serapión.
svn path=/trunk/; revision=71399
- Use the calling thread instead of the passed-in thread to validate APC status in ExReleaseResourceForThreadLite. The latter can be user-set and might not be a KTHREAD at all.
CORE-11315 #resolve
svn path=/trunk/; revision=71398
Add exports for RtlOemStringToUnicodeSize, RtlUnicodeStringToAnsiSize and RtlUnicodeStringToOemSize as redirections to suitable Rtlx*** functions, as done in our ntoskrnl (and as on Windows either).
This should fix MSYS2 start on ReactOS.
CORE-10459 #comment Please retest!
svn path=/trunk/; revision=71397
- RChangeServiceConfigA/W: Modify or delete password secrets.
[ADVAPI32]
- ChangeServiceConfigA, CreateServiceA: Convert passwords to Unicode before passing them to the remote functions.
svn path=/trunk/; revision=71394
In Cc, replace the Vacb mutex by a Bcb resource.
Note that the resource is still placed in the Vacb by it belongs to the Bcb.
This is required to really implement CcSetBcbOwnerPointer().
CORE-11310
svn path=/trunk/; revision=71387
- Fix the flags used in LoadLibraryEx calls for loading DLLs as resource files.
- Use a nice flag (FORMAT_MESSAGE_MAX_WIDTH_MASK) in FormatMessage calls so that no useless extra newlines are appended to the message strings that are recovered.
This is especially useful when some strings as localized event log names are retrieved to be displayed in the menu (amongst other things)...
This fixes CORE-8915 and fixes also the presentation of some event descriptions.
- Fix BuildLogList.
svn path=/trunk/; revision=71378
- Set window parent for different MessageBox calls.
- Add a notice in ShowStatusMessageThread concerning a potential bug.
- Rename strings "Save Protocol" into "Save Event Log"; adjust translations in this regard.
svn path=/trunk/; revision=71377
- Fix a typo in the "loading, wait" dialog.
- Use a RichEdit control for the detailed event description text, so that we can have for free clickable URLs.
- Use "Courier New" as the font for the event data text, so that we can have finer grained control over the font size...
svn path=/trunk/; revision=71376
- Set received length to zero when the receive result is MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY instead of pretending we got data
CORE-11285 #resolve
svn path=/trunk/; revision=71373
- When handling CD READ_CAPACITY requests in AtapiInterrupt__, fully rewind the DataBuffer instead of relying on the last read length. Fixes crash on first stage boot in KVM.
CORE-11286 #resolve
CORE-11296
svn path=/trunk/; revision=71371
Update the amount of FAT entries taking into account that the first two are reserved and thus not usable.
Patch by Wim Hueskes
CORE-11283 #resolve #comment Committed in r71370, thanks for your patch!
svn path=/trunk/; revision=71370
- Fix the window styles of the edit boxes in the event details dialog.
- Refactor some parts of the code to reduce the level of code indentation.
- Replace malloc/free by their Win32 counterparts HeapAlloc/HeapFree.
- When caching the full contents of a given event log, don't load at this point the event text/data. Only load those when opening the event details dialog.
svn path=/trunk/; revision=71368
- Finish to convert the app to full unicode;
- Don't hardcode buffer lengths in function calls;
- Remove useless #pragma incantation;
- Whitespace fix.
svn path=/trunk/; revision=71367
- Provide a common struct for the network setup data.
- Remember the typical/custom setup decision in order to return to the proper previous page when we click the 'Back' button on the domain page.
- Rename network setup page functions in a consistent way.
CORE-10955
svn path=/trunk/; revision=71356
- On service stop, set Service->lpImage to NULL after calling ScmDereferenceServiceImage, so the same image is not dereferenced again on service deletion
- Do not call ScmDereferenceServiceImage in CreateServiceListEntry, as the service should never have an image there
CORE-11273 #resolve
svn path=/trunk/; revision=71355
Addendum to r71348:
Fix MSVC build: "netshell\lang/de-DE.rc(87) : warning RC2182 : duplicate dialog control ID 3501" . Both IDC_NETWORK_TYPICAL and IDC_NETWORK_CUSTOM setup wizard pages had this same ID.
Obviously, GCC didn't catch this error. But the generated code would not have worked as expected.
CORE-10955 #comment [~milawynsrealm], please retest with r71353.
svn path=/trunk/; revision=71353
2nd Stage Network Setup
Patch by Lee Schroeder and Eric Kohl.
- Move Lees 2nd stage network setup wizard code to netshell. It gets called by syssetup via NetSetupRequestWizardPages().
- Add code to syssetup which calls NetSetupRequestWizardPages and inserts the retrieved wizard pages into the setup wizard.
- Prevent a font handle leak by storing the bold font handle in the SetuData.
CORE-10955 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71348
- Add tests for ACListISF.
- Change the SHExplorerParseCmdLine test to use GetProcAddress instead of relying on the import (it's not there anymore in NT 6.0+)
svn path=/trunk/; revision=71345
Fix autorun.inf on LiveCD and HybridCD linking to a non existent welcome.exe. HybridCD now links to the correct folder to welcome.exe and LiveCD just opens the readme.txt
https://www.reactos.org/forum/viewtopic.php?f=2&t=15406
svn path=/trunk/; revision=71342
Don't use PWORK_QUEUE_ITEM casts in ExQueueWorkItem calls, but use the explicit underlaying work queue item object instead.
svn path=/trunk/; revision=71330
Implement drag&drop support for program items. A similar functionality can be implemented later in our shell32/explorer, based on this code.
We do here better than Windows' progman since we can select and move more than one icon.
Note that if you test it on ReactOS you will see nice bugs coming from our (well, Wine's) comctl32.dll xD :P
svn path=/trunk/; revision=71329
- Fix the icon chooser dialog: icon enumeration, icon list cleanup... Similar fixes should also be ported to our shell32 icon list dialog code!
- Remove erroneous LBS_SORT style from the icon list box.
svn path=/trunk/; revision=71327
- Load the main icon in a global variable (we use it at different places).
- Use the main icon for the shell-about dialog.
svn path=/trunk/; revision=71325
As this is *recovered* code from what I had in my local trunk before my HDD crash that occurred last month, this is almost pure code without most of the comments (this especially concerns the MAIN_LoadSettings function).
The 10% code that is not restored yet concerns the reader/writer code for program group files, and it will be committed separately later. This (missing) code is the core of progman; without it progrman does nothing interesting apart from displaying its main window (and its utility dialogs).
svn path=/trunk/; revision=71317
- Don't access device control IRPs after handing them off to a worker routine that has potentially already freed them.
CORE-11229 #resolve
svn path=/trunk/; revision=71316
Cherry pick d71baf195715601212a2043f153400a964da6a18: Don't remove an entry list twice in add_to_space_list()
This avoids linked list entry twice removal
CORE-11057
svn path=/trunk/; revision=71315
Cherry pick aa04ca0ea4cadb0c70ff6d659916cc98b7b02c27: uninit: don't free roots before FCBs are freed
This avoids use-after-free on shutdown
svn path=/trunk/; revision=71314
- Create a wrapper version of HalpEndSoftwareInterrupt that frees its stack before calling the noreturn version of the next software interrupt handler. Fixes excessive stack usage when DPCs are queued in quick succession.
CORE-11123 #resolve
svn path=/trunk/; revision=71307
- Keep track of physical pages allocated for special pool, and respect the initially calculated MiSpecialPagesNonPagedMaximum
svn path=/trunk/; revision=71304
Improvements to the file types property page:
- Always show the selected file type.
- Set the focus to the listview control when the file types page gets activated.
- Enable/disable the Delete button for the initial file type selection too.
svn path=/trunk/; revision=71300
- Use the correct size of ServiceBuffer in getnameinfo. Patch by Víctor Martínez Calvo. CID 716150
CORE-11214 #resolve
svn path=/trunk/; revision=71293
- Add missing null termination for the line buffer in GetProtoGetNextEnt. Patch by Víctor Martínez Calvo. CID 716700
CORE-11218 #resolve
svn path=/trunk/; revision=71292
- Work around a ROS bug (CORE-11206) by doing some better bounds checking.
- Silence a VAD warning by checking for NULL instead of blindly passing mem to NtUnmapViewOfSection
- Rewrite module type lookup code to use an enum and to return the found header.
svn path=/trunk/; revision=71290
- In RtlpGrowBlockInPlace, copy the heap block's user value if the old block has the HEAP_ENTRY_EXTRA_PRESENT flag, instead of looking at the flags of the following block (where this will never be set).
CORE-11196 #resolve
svn path=/trunk/; revision=71279
Improvements to the file type property page:
- Read the EditFlags value for each file type from the registry.
- Sort the file type list by extension and description.
- Do not add a file type to the list if the FTA_Exclude flag is set for the file type.
- Disable the delete button if the FTA_NoRemove flag is set fot the file type.
- Set the FTA_Exclude flag for the dllfiles, lnkfiles and piffiles file types.
- Set the FTA_NoRemove flag for the batfile, cmdfile, comfile and exefile file types.
svn path=/trunk/; revision=71275
In case we're performing an in-place move (ie, in the same directory), if short name matches before and after, keep it.
This avoids that a file with long file name sees its short name changing on normally 'non-effect' renames.
For instance, in case of case-change only rename, short name will now be preserved.
See ya, you 7y old bug :-)
CORE-3875 #resolve #comment Fixed with r71270
svn path=/trunk/; revision=71270
The onliner:
- Move to next entry by applying the offset to the previous entry, and not to the first entry
This fixes enumerating ADS from files with 3+ streams. Previously, doing dir /R in a directory would have lead to a cmd crash.
CORE-11164 #resolve #comment Fixed by r71245
svn path=/trunk/; revision=71245
- Move recyclebin static lib in the shell32 folder and name it shellrecyclebin alongside shelldesktop and shellmenu static libs.
svn path=/trunk/; revision=71243
- lnk files are .. files so don't pretend that CDrivesFolder and CControlPanelFolder can contain lnk files.
- Don't create a full pidl just to parse it right away (which is a costly operation) when an IShellLink is queried from a folder.
- Fix a bug in CDesktopFolder::GetDisplayNameOf that was exposed by changes above.
svn path=/trunk/; revision=71237
Cherry pick a change from r71224 by Trevor:
- Don't fail too early in NtfsCreateFile() when requesting write/supersede operation. This allows already setting appropriate error in certain cases and making the driver more consistent
svn path=/trunk/; revision=71229
- Remove IExtractIconA_Constructor and rename IExtractIconW_Constructor to GenericExtractIcon_CreateInstance which will handle both A and W.
- Make GenericExtractIcon_CreateInstance accept a pointer to a IShellFolder and a simple pidl.
- Avoid using SHGetPathFromIDListW. Use ILGetDisplayNameExW instead. May make loading icons for folders and exe files slightly faster as it does fewer I/O and less allocations.
svn path=/trunk/; revision=71227
- Disentangle icon extraction for control panel. Add CCPLExtractIcon_CreateInstance and isolate control panel handling in CControlPanelFolder.cpp.
svn path=/trunk/; revision=71225
- Don't leak memory in KspValidateConnectRequest(), patch by Victor Martinez
- Also compute connect medium ID string only twice (could be even computed once) instead of doing so in each loop iteration
CORE-11099 #resolve #comment Committed in r71221
svn path=/trunk/; revision=71221
- Get rid of CPrintersExtractIconW and add CPrintersExtractIconW_CreateInstane which creates and initializes CExtractIcon.
- Also add CNetFolderExtractIcon_CreateInstance and CRecyclerExtractIcon_CreateInstance.
svn path=/trunk/; revision=71217
- Add an overload of SHSetStrRet which loads strings by default from shell32.
- Remove some dead code fomr CDrivesFolder.
svn path=/trunk/; revision=71213
- Accept parsing paths like "C:". Also simplify CDrivesFolder::ParseDisplayName a bit.
Note: trying to run "c:" from the run dialog doesn't have the right result due to a bug in ShellExecute.
svn path=/trunk/; revision=71212
Addendum to r69601:
host-tools are "no longer required" but actually still exist.
Add the CMakeCache cleanup for them.
svn path=/trunk/; revision=71204
Don't remove an entry list twice in add_to_space_list().
This fixes a BSOD when trying to create a new file on a Btrfs volume.
Already sent upstream. Delayed due to inactivity.
CORE-11057 #resolve #comment Fixed with r71202
svn path=/trunk/; revision=71202
- Add a list of hardcoded tags, for all versions up to win7 they are checked against windows.
- Update SdbTagToString with a few missing strings
- Hardcode the used version to Win7 for now, as backporting these strings would not make much sense.
svn path=/trunk/; revision=71200
- Stub the Property pages
- Disable some code that prevented the property pages from working (CORE-11140)
- Leave the menu item disabled for now, since a dialog that does not do anything will only confuse people (CORE-11141)
svn path=/trunk/; revision=71192
- Add an apitest for our delayload functions.
- Improve the delayload (mainly the failure cases, throw exceptions where expected etc).
- Add some tests for advanced delayload features (currently blocked on CORE-6504 and CORE-10957)
svn path=/trunk/; revision=71190
Use the PairCount variable of the MCB to store the current amount of runs in the table. This will be properly used later on.
CORE-11002
svn path=/trunk/; revision=71178
Add more failing tests for MCB. These are pretty basics and deal with holes.
They are pretty handy to show how broken the current MCB implementation is, in regard to holes management: it fails at properly counting runs when there are holes and it creates virtual runs (hence the broken count) for each hole. This shouldn't happen.
CORE-11002
svn path=/trunk/; revision=71177
Modify the ret8 interrupt return path in KiTrapExitStub, so that nested interrupts (e.g. as a result of an interrupt storm from a broken driver) will work more "like on Windows", i.e., now the broken driver will not cause stack exhaustion anymore, but a proper system hang! And it will be an even more efficient system hang than Windows has! This is not the '90s. You can't just walk up and crash the system, you have to do something cool first and do it properly "like Windows does", even if you're not using the same assembly instructions.
svn path=/trunk/; revision=71174
- Initialize the window station object before calling ObInsertObject, since the object will be deleted in case of failure.
CORE-11124
svn path=/trunk/; revision=71164
- Revert the changes adding arbitrary bit length read/write support since they cause problems on VirtualBox and will be reworked upstream.
CORE-11115 #resolve
svn path=/trunk/; revision=71158
In FsRtlAddBaseMcbEntry(), try to detect incompatible LBNs before altering mappings.
This fixes a few tests failures
CORE-11002
svn path=/trunk/; revision=71145
- CDefViewDual::get_Application now returns a new CDefView to fix the winetest.
- Update CFolder, CFolderItem(s), CFolderItemVerb(s), CShell to use the new IDispatchImpl
- Enable the last two skipped testcases (test_ShellFolderViewDual, test_ShellWindows)
svn path=/trunk/; revision=71144
doxygen.reactos.org is back, with a revamped Doxyfile and a new design! (= the standard Doxygen design :P)
This is mostly the default Doxyfile, with just obvious settings imported from our old one.
I've also enabled some advanced features such as dependency graphs and the treeview.
The configuration is far away from perfect, but everybody is invited to tune it and see the results on the next day.
Doxygen is regenerated everyday at 4:00 UTC. RosApps and RosTests are also included now.
You're also invited to add Doxygen comments everywhere. Right now, the documentation is dominated by our third-party imports.
svn path=/trunk/; revision=71143
Add a simple test for FsRtlAddLargeMcbEntry() which shows how hard it's broken... Not only it doesn't support mismatching LBNs, but it also replaces current mapping with broken one
CORE-11002
svn path=/trunk/; revision=71141
- Implement Typelib registration in CComModule::RegisterServer, based on dll/win32/atl/atl.c and dll/win32/atl80/atl80.c
- Add oleaut32 to devmgr and stobject import libraries
CORE-11104 #resolve
svn path=/trunk/; revision=71139
Because the underlying shim infrastructure is not active yet, the page is disabled by default.
Hello Reactos :)
CORE-10375
svn path=/trunk/; revision=71131
- In USBSTOR_GetMaxLUN, correctly handle devices that do not support this request. Patch by Vadim Galyant.
CORE-10515 #resolve
svn path=/trunk/; revision=71128
Change the cylliric glyphs for "Ы" and "ы", to allow them to have a pixel space before the next character. By Dmitri Poguliayev.
svn path=/trunk/; revision=71125
- Apply Wine commit 110665a3 (ole32: Don't call spy on IMalloc::Free(NULL)) by Nikolay Sivov. Fixes test failures in atl:CComHeapPtr
CORE-11107 #resolve
svn path=/trunk/; revision=71119
- Add stubs for the shell dispatch object, CShell, and its relatives. Patch by Mark Jansen.
[SHELL32_WINETEST]
- We no longer need to skip test_ParseName and test_Verbs thanks to Mark's work.
CORE-6892
ROSTESTS-209
svn path=/trunk/; revision=71116
- Correctly calculate the buffer size if the PATH variable is set but empty in BasepComputeProcessPath. Yes, this is a bug in Windows.
CORE-11080 #resolve
svn path=/trunk/; revision=71097
- Fix parsing of the -p option and enable / as option indicator.
- Display foreign address of a listening TCP port as '<host>:0'.
svn path=/trunk/; revision=71095
Automatic Fixup of the whole RAPPS DB with a Python sync script from Christopher Reimer (based on the script from Ismael Ferreras Morezuelas): https://dl.dropboxusercontent.com/u/30053674/shaonificator.py
- Fixed ANY INI parsing errors like double language sections, missing braces, missing variable descriptions, typos...
- Fixed ANY sizes of downloads + all language specific alterations.
- Fixed ANY dead links.
- Fixed ANY SHA1 hashes.
- Comments are no more. All ppl who contributed and left their names in the comments of the files are now found in CONTRIBUTORS.
++ Removed offbyone.txt. The Browser is no more.
svn path=/trunk/; revision=71093
Add more tests for LargeMcb functions.
These are not invented but real cases: they are extracted from Ext2Fsd driver attempting to read a file from disk. The read file in ReactOS is totally corrupted.
This shows how broken our current MCB implementation is. And unfortunately confirms CORE-11002.
I recommend not to import any other FSDs relying on MCB as long as this is not fixed (eg. CORE-11040); it makes them pretty pointless.
CORE-11002
svn path=/trunk/; revision=71091
CredWriteDomainCredentialsW missing in advapi32.dll.
Patch by Jared Smudde.
CORE-11055 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71086
- Add apphelp.dll. Patch by Mark Jansen, partially based on work by Mislav Blažević and the Wine team.
CORE-10367 #resolve
svn path=/trunk/; revision=71084
- Correctly handle desktop pidls in CDesktopFolder::CompareIDs. Based on a patch by Sylvain Deverre.
CORE-10747 CORE-10801 #resolve
svn path=/trunk/; revision=71081
- Correctly handle NULL pidls in CDesktopFolder::CompareIDs and CDrivesFolder::CompareIDs. Based on a patch by Sylvain Deverre.
CORE-10745 #resolve
CORE-10747
svn path=/trunk/; revision=71080
- Add tests for IShellFolder::CompareIDs. Patch by Mark Jansen, with additional test cases by Sylvain Deverre.
CORE-10747
svn path=/trunk/; revision=71064
- Fix crash by use of MDI container rules.
- Patch by Michael Müller: Preserve beginning of extra data for MDI windows.
- Patch by Jacek Caban : Ignore WM_CHILDACTIVATE on disabled windows in DefMDIChildProc.
- CORE-10912 Wine Staging 1.9.4
svn path=/trunk/; revision=71059
- Patch by Piotr Caban : Select text control content while setting dialog focus.
- CORE-10912 Wine Staging 1.9.4
- Added comments.
svn path=/trunk/; revision=71058
- Use the correct, previously calculated width and height in BITMAP_LoadImageW instead of assuming pbmi is an actual BITMAPINFO. Fixes loading bitmaps using BITMAPCOREINFO format. Patch by Mark Jansen.
CORE-10889
svn path=/trunk/; revision=71056
- Reduce the C COM "ugliness" by using suitable macros. Thanks to Mark Jansen for having pointed that.
- Use sizeof() instead of ARRAYSIZE() * sizeof(WCHAR) to do the same thing.
svn path=/trunk/; revision=71051
Allow for an optional working directory in the shortcuts definitions in the shortcuts.inf file.
Patch by Mark Jansen
CORE-11020 #comment Thank you very much!
[SHORTCUTS.INF]
As an application of the previous feature, make the shortcuts (desktop & start menu) of cmd.exe start it from the user directory.
CORE-11018 #comment Please retest with r71049.
svn path=/trunk/; revision=71049
- Define a new macro function KmtGetSystemOrEmbeddedRoutineAddress() which is to be used to get a function address from Mm if it exists system-wide or to fallback to embedded function if it doesn't exist
- Use this mechanism to add tests for the newly implemented FsRtlRemoveDotsFromPath() which is Vista+.
That allows, with a single build (and thus, same binaries), testing a function in ReactOS and in Windows.
svn path=/trunk/; revision=71046
BUGBUG in fileinfo.c: 'datalen' is used but not initialized!
[NTOSKRNL_VISTA]
Add most of the same compile-time definitions as for ntoskrnl proper, since this static library can be seen as part of the kernel! Fixes MSVC build.
svn path=/trunk/; revision=71039
Import the WinBtrfs 0.2 driver from https://github.com/maharmstone/btrfs.
Based on the initial work from Peter Hater, with various modification and patches sent upstream (yay, yet another collaboration :-)).
This driver is in its earlies, so expect crashes, issues, and so on. We'll keep it updated to get rid of these issues.
For now, it reads really well from a btrfs volume!
CORE-10892
svn path=/trunk/; revision=71037
Introduce a new library dedicated to recent drivers: ntoskrnl_vista.
Its purpose is to provide some Vista+ syscalls to drivers that would require them.
Only 'simple' syscalls not depending on internal structures can land in this library (for the others, you're doomed ;-)).
This library is to be statically linked to your driver.
For the initial commit, the following syscalls have been implemented:
- RtlUnicodeToUTF8N(), RtlUTF8ToUnicodeN(), taken from Wine trunk, implemented by Thomas
- FsRtlRemoveDotsFromPath() implemented for the library
These three are required by the WinBtrfs FS driver
CORE-10892
svn path=/trunk/; revision=71036
Update the driver to release 0.63.
One notable change is support for ExtX links (hard/sym). They work out of the box due to all the previous work that was done for supporting reparse points on NTFS.
Full changelog available at: http://www.ext2fsd.com/?p=195
CORE-10996 #resolve #comment Commited in r71031
svn path=/trunk/; revision=71031
Implement in a really simple way CcSetBcbOwnerPointer() and CcUnpinDataForThread(). They don't do everything the Windows Cc does, but at least, they do the basic job.
CORE-10996
svn path=/trunk/; revision=71030
Set correct locale in RtlGenerate8dot3Name test.
This makes the test reproducible on every target plateform.
Patch by Mark Jansen.
ROSTESTS-218 #resolve #comment Patch commited in r71027. Thanks!
svn path=/trunk/; revision=71027
Import Wine commit:
- e8c8ddcbfc8bc4458add06062005a4022162deab, Don't send lpRemoteName when requesting network place.
This is the end: ReactOS WNet is fully in sync with Wine, with all the features required for network providers in.
Enjoy your VBox/VMware shared folders working with synced upstream!
CORE-10878
CORE-10032
svn path=/trunk/; revision=71019
Hint for future and current developers: there's a hidden feature in ReactOS, you can build it locally before committing, so that you can check whether your commit breaks build...
Amazing, isn't it?
svn path=/trunk/; revision=71017
Update Simplified Chinese and Traditional Chinese Translation.
Patch by Henry Tang Ih.
CORE-10939 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71005
- Add few missing #ifdef __GNUC__ before including msvctarget.h.
- The contents of intrin.h is included only if RC_INVOKED is not defined. Compatible with MinGW and WinSDK.
- Ignore PROBE_ALIGNMENT definition if no platform is defined, in case RC_INVOKED is defined. Compatible with MinGW and latest WinSDK.
The two last fixes are also necessary to not make the Visual Studio resource compiler complain when a resource file is opened in it.
svn path=/trunk/; revision=70984
Implement support for recognizing the Btrfs volumes.
Patch by Peter Hater.
CORE-10892 #comment The fs_rec part has been committed, thanks!
svn path=/trunk/; revision=70955
- Fix the Shell-About box.
- Whitespace/indentation fixes in string.c
- Add missing size for the ICON resource item of the dialog "Program attributes". MSVC resource compiler considered that as an error, while GCC's windres compiled that without warning (who knows what they took as the default value...).
svn path=/trunk/; revision=70919
- bootsup.c/.h, usetup.c: Save the old MBR sector in the system partition (this makes easier to restore the old one).
- fslist.c/.h, usetup.h: Fix header inclusion order.
- partlist.c/.h, usetup.c: On BIOS-PC architectures, the system partition can be formatted in any FS as long as it is the active partition (on the contrary, on architectures where such system partition is required, it is formatted in FAT). We currently do not have write support for all FSes out there (apart for FAT until now), so do a "clever" "trick" to work around this problem: on initialized disks, find the active partition and check its FS. If we support write access to this FS then we're OK, otherwise we change the (active) system partition for the one on which we are going to install ReactOS (which is, by construction, formatted with a FS on which we support write access).
The MBR (resp. the VBR) of the disk (resp. of the system partition) are always saved into files, making easy for people to boot on them (using FreeLdr) or restoring them.
CORE-10898
svn path=/trunk/; revision=70837
The Ewoks concil said it's fine to dereference null pointers in the kernel, so, partly revert r70819 (by partly, I mean: revert everything excepted the comments that were fixed!).
Also add asserts that exist on Windows to make it obvious we're about to kill the whole kernel
To make it clear: fix the FSD!
svn path=/trunk/; revision=70824
Don't attempt to null-dereference fastio routine without checking whether it was set first.
This fixes RW with FSDs using cache but no FastIO possibilities.
CORE-10892
svn path=/trunk/; revision=70819
- Update Testman web service URI for the new website since a redirect from the old address will not work for POST. Should fix WHS Testbot.
ROSTESTS-215 #resolve
svn path=/trunk/; revision=70817
- Based on patch : Jacek Caban : Don't use window' s parent as an owner if WS_CHILD style is not set.
- https://www.winehq.org/pipermail/wine-cvs/2016-February/111835.html
- Pass all win:test_parent_owner.
- Add window last view to Desktop Information structure.
svn path=/trunk/; revision=70813
Handle generated tests on all architectures.
Update i386 files.
The kernel32 generated remains disabled,
Wine's definition of COMMCONFIG differs from our/MSDN definition.
Commented out nonexisting LPEXCEPTION_RECORD.
svn path=/trunk/; revision=70802
Prevent removal of all languages from the language list by disabling the 'Remove' button when only one item remains. Enable the 'Remove' button when there is more than one item in the list.
CORE-3587 #resolve
svn path=/trunk/; revision=70799
Fix enumeration of network places root directory when starting the enumeration from network providers enumeration
CORE-10878 #resolve #comment Fixed with r70793
svn path=/trunk/; revision=70793
- Use a more complete list of partition type names for displaying the partition types in the list.
CORE-4043 #resolve
- HACK (for ChkDsk): Guess the filesystem type of the current partition, based on its partition type ID. This is hackish because partitions with the same ID can be formatted with different file systems (e.g.: Linux partition ID 0x83 can cover EXT2/3/4, ReiserFS, etc). Therefore do NOT use GetPartTypeStringFromPartitionType for that!! (see r68156 and r70283).
svn path=/trunk/; revision=70792
Also had the nasty partition number hack to IOCTL_DISK_GET_PARTITION_INFO_EX.
It is required for some file system to work in ReactOS (teasing :-))
svn path=/trunk/; revision=70781
- Move CComBSTR and CComPtr to atlcomcli.h
- Patch from Mark Jansen
CORE-10610[ATL]
- Move CComBSTR and CComPtr to atlcomcli.h
- Patch from Mark Jansen
CORE-10610
svn path=/trunk/; revision=70776
- Remove one hack that seems not to be required anylonger.
- Add a comment to highlight the usage of the infamous partition 0 hack (who's the IopParseDevice() hack friend!)
svn path=/trunk/; revision=70771
Starting NT 5.1 a mysterious "VideoPortCheckForDeviceExistance" (with a 'a') export made its apparition, and is the same as the already existing "VideoPortCheckForDeviceExistence" (with a 'e') ^^
I add it only to be compatible with Win2k3 SP2 videoprt.sys exports.
svn path=/trunk/; revision=70770
- Complete the table of exported VideoPort functions (compatible Win2k3 SP2), some functions were missing in it: see for example the last picture of http://www.reactos.org/forum/viewtopic.php?f=4&t=14727#p120344 .
- Don't redirect the VideoPortInterlockedIncrement/Decrement/Exchange functions directly to NTOS, because otherwise they cannot be included in the exports table.
svn path=/trunk/; revision=70769
If the cache wasn't initialized by the FSD serving the image, don't allow section creation to avoid later (dramatic) failure in CC.
Based on a patch by Sylvain Deverre.
CORE-10038 #comment Modified patch committed in r70756
svn path=/trunk/; revision=70756
Import Wine commit:
- d070c263adf840cc14dde84eb8e73b04490d1900, Partially implement WNetUseConnectionW().
This reduces diff to Wine, by providing a cleaner implementation of WNetUseConnectionW().
CORE-10032
svn path=/trunk/; revision=70755
Import Wine commit (by Nikolay Sivov):
- 164fe0470ccf7cb3c0946cbb52d4139aec0c4a03, Query for NPAddConnection and NPAddConnection3 when loading a provider.
CORE-10032
svn path=/trunk/; revision=70754
Remove some dead code; fix comments; mention that some code is redundant. This is added to help future people in cleaning up that mess called "win32k/user32".
svn path=/trunk/; revision=70751
Cowardly refuse to continue processing (enumerating/reading) when stumbling upon a compressed entry.
This avoids infinite loops when enumerating, incorrect files contents when reading.
CORE-10814 #resolve #comment 'Fixed' with r70750
svn path=/trunk/; revision=70750
When discovering floppy controlers, immediately probe controlers to check whether they have a disk and if so, what's its geometry.
This avoids waiting for the first read, which will obviously never happen because FSD will try other operations depending on not set geometry.
This implies a modification in RWDetermineMediaType() to avoid infinite wait, in case there's no disk at all in the controler.
Addendum to r70725
svn path=/trunk/; revision=70746
- Cleanup window clipboard data while the window still exists and is not dereferenced.
- When a window is about to be destroyed (just before we send the WM_DESTROY message), if it is the current clipboard owner, make it release the clipboard. The WM_RENDERALLFORMATS message is then sent, and if needed, one WM_DRAWCLIPBOARD message.
- Send a WM_DRAWCLIPBOARD message when SetClipboardViewer is called.
WM_DRAWCLIPBOARD messages are sent as notifications to the corresponding windows.
svn path=/trunk/; revision=70744
Update Simplified/Traditional Chinese Translation.
Patch by Henry Tang Ih.
CORE-10825 #resolve #comment Thank you very much!
svn path=/trunk/; revision=70739
- Avoid calling OpenClipboard with a NULL window handle.
- Display the clipboard erasing confirmation message before actually opening and resetting its contents.
[WIN32K]
- Improve few comments.
- In UserOpenClipboard, return success early in case the clipboard was already opened by the clipboard owner.
svn path=/trunk/; revision=70738
- Update the name of the application.
[SHORTCUTS]
- Add a clipboard viewer shortcut into the start menu (for boot and live-cd).
CORE-10853
Translators, please review!
svn path=/trunk/; revision=70737
- Add clipboard file icon by Jared Smudde.
- Open any clipboard data file given in the command line.
[BOOTDATA]
- Add registry entries for file extension .clp.
CORE-10853 #resolve #comment Support added in revision 70736.
svn path=/trunk/; revision=70736
Add the BS_TOP flag to the multiline checkboxes. The checkbox will display at the top of the control rather than at the middle.
svn path=/trunk/; revision=70734
- Disable message box messages added for testing purposes (but still keep them here in case one needs them).
- Start implementing clipboard write file support. Work in progress. See CORE-10852
svn path=/trunk/; revision=70732
There actually exist two clipboard file formats, so-called "Win3.1" and a "WinNT" formats. Strangely enough Win2k (and Win2k3) clipboard viewer always save the files under the "Win3.1" format, whichever one you select.
I discovered the subtle difference between those two formats by looking at a very old MSDN sample program "EMFDCODE (Enhanced Metafile Decoder)" by Dennis Crain (see https://web.archive.org/web/20080406095812/http://msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_emfdcode.asp? ) that still can be found on the Internet...
CORE-10550 #comment Read support fixed in r70730.
svn path=/trunk/; revision=70730
Add the ReactOS famous... hack? fix? whatever? already present in FastFAT, NTFS...:
When accessing a floppy disk, our floppy storage stack can return that the disk type is unknown (some would say it's legit - see comments in FastFAT) and will also return a disk sector size of 0.
Then, when trying to read the floppy disk with said size, everything goes wrong (null length read is never a good thing). So, as in any other FSD in ReactOS, for disk sector size to 512 bytes in this really specific case.
This fixes BSOD when having a floppy drive in ReactOS (whatever its filesystem).
CORE-10464 #resolve #comment Fixed with r70725
svn path=/trunk/; revision=70725
Temporarily disable the WS_EX_DLGMODALFRAME test whose presence broke opening the system menu when the user clicks on the window caption icon.
This half-broken DefWndNCHitTest comes from user32; see r70718 for more details.
svn path=/trunk/; revision=70719
- Both functions UserGetInsideRectNC and NC_GetInsideRect are the same: remove the redundant code and keep only NC_GetInsideRect.
- Move default WM_NCHITTEST into kernel side, getting rid of half-broken DefWndNCHitTest in user32. Note that we use a DefWndNCHitTest version almost unmodified in uxtheme.dll.
I did this move also because otherwise, we didn't correctly checked for the presence of the window system menu icon. On the contrary the function GetNCHitEx (obviously taken from Wine's NC_HandleNCHitTest) correctly checks for this.
James, please review!
svn path=/trunk/; revision=70718
- Fix orthograph
- Mention in the code that some stuff are hacks & need to be fixed.
- Add parentheses around bit checks.
svn path=/trunk/; revision=70713
- Hide STATUS_SXS_INVALID_ACTCTXDATA_FORMAT in BasepProbeForDllManifest and fake a manifest not found status instead. Windows's RtlCreateActivationContext will always return this code since we call it with a completely invalid structure. Should fix boot on VMware-Hybrid testbot.
CORE-10843
svn path=/trunk/; revision=70697
- Whitespace fixes only in the disk code.
- Fix the name of the EXT2 FS driver.
- Move I/O initialization after Mm init so that we can properly read disk data into the correct buffers if needed (and I will need that).
svn path=/trunk/; revision=70695
Start splitting FreeLdr in the same spirit as our new UEFI boot manager/loader: split into a boot library, the boot manager code, and the NT loader.
- The boot library provides the basic support (read INI/INF files, memory management, debugging, ARC compatibility/emulation, ...).
- The boot manager code is FreeLdr proper.
- The NT loader is used for loading Windows or ReactOS. Because of that fact I rename its directory "windows" into "NTLDR" to underline the fact it can load NT-type OSes (more exactly version 5.x), to which both Windows 2k/XP/2k3 and ReactOS belong. The APIs will certainly be renamed "NtLdrXXX" instead of "WinLdrXXX".
- The general PE loader is put into the boot library since it is needed also by FreeLdr proper to be able to load SCSI drivers (on x86/64/... architectures; on ARC systems SCSI support is automatically provided).
svn path=/trunk/; revision=70692
- The PE code can be built as an executable, it works as expected and nothing changes (the size of the generated code doesn't change).
- Export the Scsi functions also on x86 MSVC builds. Because of that, increase the number of expected PE sections in the FreeLdr image check function. Note that x64 MSVC build do not have the Scsi code ready yet, hence it doesn't export the corresponding functions.
- The spec2def command should have the name of the generated PE file.
- Remove one hardcoded value.
During my investigations I noticed that using a section alignment of 0x400 for freeldr MSVC builds (instead of the default 0x1000) made the MSVC builds *bigger*. Furthermore, using the default alignment of 0x1000 makes the freeldr MSVC builds unbootable. I don't understand why. Maybe a freeldr guru knows that?
svn path=/trunk/; revision=70687
- Make BmMain stdcall as it's an entry point, the same way as ROSLOAD's OslMain.
[ROSLOAD]
- Fix a comment.
- Fix compilation on x64 and on GCC by specifying the entrypoint stack, exactly as what we do for KiSystemStartup in the kernel.
svn path=/trunk/; revision=70686
- Move the NTOS loader files that were scattered in many places into their own directory (now all that stuff is inside freeldr/windows).
- Split arch/arm/winldr.c into the real winldr code (going into freeldr/windows) and entry point code (going into arch/arm/entry.c).
svn path=/trunk/; revision=70683
Replace old bugzilla report IDs to their JIRA counterparts.
[LIBUSB]
The third parameter of IoRegisterDeviceInterface is a pointer (optional). Use NULL instead of 0.
svn path=/trunk/; revision=70680
- Initialize global variables to known default values.
- When Inbv initializes the display, reset the video mode *ONLY* if we do not have a custom boot logo (because otherwise we want to see our custom boot logo!). This also fixes the video mode used by ReactOS when booting it using Windows ntldr!
svn path=/trunk/; revision=70678
- Use defines instead of hardcoded values for partition type IDs.
- Add some support for installing ReactOS on EXT2 partitions.
- Add few code that will be needed when we support NTFS installation.
- Refactor InstallFatBootcodeToPartition and its auxiliary functions. CORE-4870
svn path=/trunk/; revision=70675
Time to (re)act!
Step 2/2: continue Giannis' UNC hack in Shell32:
- Implement the ILCreateFromNetworkPlaceW() helper, which is just Giannis' code to allow creating a hacky PIDL for enumeration.
- Implement the CNetFolderEnum class, which allows enumerating network places. So far, it's pretty basic (no tree structure) but, it does its job. It would be to improve
- Implement the CNetFolder::EnumObjects() function.
This commit, in itself, more or less obsoletes hackssign application. Indeed, now, you just need to go to your network places, to be able to browse your network shares (like VMware or VBox shares) provided you installed the VMware/VBox additions in your VM.
However, hackssign will remains in rosapps for now: we don't have any other way to assign a drive letter to a network place so far, and VMware doesn't provide such feature.
Furthermore, this is a big hack. And until we have a correct implementation, we can keep another hack along ;-).
Feel free to decently enjoy your network shares in ReactOS :-).
CORE-10032
ROSAPPS-303
svn path=/trunk/; revision=70671
Time to (re)act!
Step 1/2:
- Implement WNetUseConnectionA() as a simple forwarder to WNetUseConnectionW().
This function should make it somehow, somewhen to Wine. Feel free to help the process by lighting cierges.
- Halplement WNetUseConnectionW() to match a really specific case: it can handle requests from VBoxTray and pass them properly to VBox NP.
In its current state, this function isn't to be shared with Wine.
Other calls (specifically without local path, nor network provider) aren't handled and will lead to an error.
But, in itself, this commit obsoletes rosvboxmgmt by making ReactOS able to autostart (on VBoxTray demand :-)) the VBox shared folders.
Furthermore, if you ask for a drive letter to be assigned to your shared folder, it will happen!
Now, in order to use VBox shared folders, just configure VBox to assign them a drive letter, install ReactOS, install VBox Guest Additions... Profit!
CORE-10032
ROSAPPS-303
svn path=/trunk/; revision=70670
- Fix a typo in kernel32's manifest prober routine
- Don't RtlGetActiveActivationContext if it's already existing
- Improve actctx and ldr debug prints
- This fixes numerous LDR bugs, such as the famous bug with MSVCR90 CORE-7313, .NET installation issues CORE-7489 and, hopefully, many other. Thank you very much for putting your trust in me!
svn path=/trunk/; revision=70646
Import Wine commit:
- 80eb2fa08eb21ba9504438493fa66097ed03faf5, Add support for REG_EXPAND_SZ for providers path.
This fixes VMware network provider (vmhgfs.dll) not being able to be loaded in ReactOS.
CORE-10032
svn path=/trunk/; revision=70645
- Remove the code that hides the system menu and the cancel button. Users should be able to cancel the installation process.
- Add code to reboot ReactOS after completing or cancelling the wizard. It is disabled for now.
- Remove the groupbox on the device page.
- Resize / realign the controls on the drive page.
- Replace the listbox on the drive page by a list view.
svn path=/trunk/; revision=70643
- Fix height of the inner wizard pages.
- Do not show the header for the finish page.
- Remove the language selection page and the ReactOS logo because they have been moved to userinit.
- Start removing groupbox controls from the wizard pages. They just occupy a lot of space.
- Resize / realign the install type page and add some descriptive text to all languages.
- Allocate setup data from the heap and pass the setup data pointer to each wizard page.
- Move the drive wizard page (DriveDlgProc) to a separate file.
- Move the common declarations to a new header file.
svn path=/trunk/; revision=70638
[BOOTLIB]: Implement most of ImgpLoadPEImage. The checksum of the mapped image file matches the checksum in the flat PE file, meaning our load loop works as designed.
Next step are relocations and we'll be done.
svn path=/trunk/; revision=70632
[BOOTMGR/BOOTLIB]: Fix factorings that were incorrect but not noticed when bootmgr was the only bootlib user. Now with rosload in the picture, they became obvious.
[EFISYS]: BCD should not be on the EFISYS.BIN, only on the boot volume, just like a Windows DVD.
svn path=/trunk/; revision=70626
[BOOTMGR]: Stub support for boot errors.
[BOOTMGR]: Stubplement support for device creation for boot applications (only for fully specified devices)
[BOOTMGR]: Implement support for execution transfer, including recovery mode/sequence.
[BOOTMGR]: Implement support for launching a boot entry.
[BOOTLIB]: Support for EFI Firmware device enumeration, driver attachment, and comparison.
[BOOTLIB]: Support for appending BOOLEAN or INTEGER BCD options.
Next step is the PE loader.
svn path=/trunk/; revision=70618
[BOOTMGR]: Stubplement support for catching keystrokes right before boot (such as F8, F10). No key input is actually read.
Boot Manager now attempts to load the winload entry as part of BmpLaunchBootEntry.
svn path=/trunk/; revision=70615
[BOOTMGR]: Implement boot sequence population. We correctly detect our winload.efi entry in the BCD hive.
[BOOTMGR]: Document more application entry flags.
[BOOTLIB]: Document and implement BCD object description parsing. Based off BCD Reference Guide / Geoff Chappel's website.
[BOOTLIB]: Add support for appending a boot option to an entry.
svn path=/trunk/; revision=70614
[BOOTLIB]: Implement BlGetOptionGuid. All BCD option APIs should now be implemented.
[BOOTLIB]: Fix memory corruption + out-of-bounds bugs in BlAppendBootOptions, which made the BCD options remain empty.
svn path=/trunk/; revision=70611
[BOOTLIB]: Fix a bug in BCD parsing which was causing massive heap corruption. Became evident with the increased complexity of the new BCD hive.
svn path=/trunk/; revision=70610
[BOOTLIB]: Implement BCD element deletion (bootreg: implement key deletion)
[BOOTMGR]: Implement BL_FATAL_ERROR_BCD_ENTRIES fatal error.
[BOOTMGR]: Stubplement support for memory list data parsing (when memtest.efi will run), and stubplement support for boot persistent data blobs.
[BOOTMGR]: Stubplement boot sequence support, create stub for boot entry population.
[BOOTMGR]: Stubplement boot entry selection, create stub for boot entry enumeration.
Mostly factoring-level changes to get us closer to the needed code paths.
svn path=/trunk/; revision=70609
Add two dialogs that are shown when the LiveCD is booted. The first dialog is used to select the language and keyboard layout. The second dialog is used to either start the shell or the GUI installer. Language and keyboard layout selection are still work in progress.
svn path=/trunk/; revision=70607
- Now that both FreeLdr and MKHIVE use the regular (aka. the "NT-style public") CMLIB functions, get rid of the "old-style public" cmlib functions, with the exception of CmCreateRootNode and CmPrepareHive which remain for now due to a slight different implementation difference between NT and ours. Remove the cmtools.c file containing those old functions.
- Remove the now-deprecated VALUE_LIST_CELL structure (which was an old version of CELL_DATA:KeyList).
- When freeing hive bins (in HvpFreeHiveBins), use the storage number count stored in the hive instead of a constant value.
- Flat hives have only one storage type (they are read-only and reside only in memory).
CORE-10802
CORE-10793
svn path=/trunk/; revision=70605
- Fix two warnings in GCC Linux build (in KeBugCheckEx and in a call to the helper function RepGetValueData).
- Remove two unused RTL ANSI functions.
- Fix USHORT vs. ULONG type misuage.
- Fix SIZE_T vs. ULONG usage.
svn path=/trunk/; revision=70603
- Make mkhive tool correctly initialize the Max(Value)[Name|Data]Length members of HHIVE structure. CORE-10794 #resolve
- Add default security hive descriptors to our mkhive-built registry hives. CORE-10795 #resolve
- Make MKHIVE fully using the CMLIB library. CORE-10802
CORE-10793
svn path=/trunk/; revision=70602
- One less hardcoded number.
- Minor code formatting.
[NTOS]
- Minor code formatting (cmvalche.c).
- The key-node timestamp can usually be retrieved without using another temporary value.
- The security descriptor copy allocated for the hive can be freed after it was assigned to it.
[MKHIVE]
- Minor formatting of the source headers.
- Update the list of registry value types; add another error code (to be used later on).
- Remove now unused "ntoskrnl.h" header.
CORE-10793
svn path=/trunk/; revision=70601
- Add "aif" and "aiff" to the supported MCI Extensions.
- Remove an extra erroneous "rmi" entry that was wrongly marked as being of type "MPEGVideo".
svn path=/trunk/; revision=70597
- Since the registry handling rewrite of Timo in r61595 all the freeldr-specific registry structures got deprecated. Remove them, as well as few other prototypes of non-existing functions.
- Use the CMLIB registry flags instead of some (already-removed) flags --> fix build.
svn path=/trunk/; revision=70594
- Do not define _NTOSKRNL_ at compilation time, keep only the _NTSYSTEM_ define (and NASSERT).
- Remove deprecated unused private flags.
- Modify CmCreateRootNode to make it look more similar to the CmpCreateRootNode function of ntoskrnl/config/cmsysini.c, to ease future code adaptation in cmlib & mkhive and then deprecate CmCreateRootNode in favour of CmpCreateRootNode.
svn path=/trunk/; revision=70593
- Fix HBLOCK_SIZE vs. HSECTOR_SIZE mix-ups in HvpGetHiveHeader.
- Add a function to create cluster-aligned hive base blocks (HBASE_BLOCK) based on the existing code of HvpGetHiveHeader, and use it everytime we need to allocate HBASE_BLOCKs.
- Keep the actual base block size in the BaseBlockAlloc member, and use this value for the "quota" parameter when we free the blocks.
- Introduce & use a function to initialize the hive file name array (mainly used for debugging purposes).
- "HvpInitializeMemoryInplaceHive" should read "HvpInitializeFlatHive" instead since this function is used to initialize a flat hive. Memory-in-place hives are a different thing.
- Fix some memory leaks in the error paths of HvLoadHive.
- Initialize some additional hive members in HvInitialize(Hive).
svn path=/trunk/; revision=70582
- Fix some structure definitions to match Win2k3 symbols (define also _SECURITY_DESCRIPTOR_RELATIVE for the host-tools so that the CM_KEY_SECURITY structure is always correctly defined).
- Complete other structure definitions with respect to the NT version defined at compile time; http://msdn.mirt.net/ was used as the source of information.
- Add the definition of CM_BIG_DATA for supporting big valued keys (see also http://www.msuiche.net/2009/06/07/windows-vista-and-later-registry-secrets/ for what they are).
[NTOS]
- Move CM functions defined in the CMLIB out of the internal ntoskrnl headers.
svn path=/trunk/; revision=70579
Let's add hacks to glue hacks together:
In case rosvboxmgmt is started with its current directory not being the directory where it is along with hackssign_client.exe, then autoassign fails finding the hackssign client executable and thus, fails assigning drive letter.
This is what happens when you starts rosvboxmgmt on boot with shell.
So, when using autoassign, first look for the location of rosvboxmgmt and set our current directory there.
This fixes rosvboxmgmt autoassign not working on boot.
CORE-10032
ROSAPPS-303
svn path=/trunk/; revision=70578
Resolution selection improvement patch by Mark Jansen:
- Fix a bug that allowed only a subset of resolutions to be visible.
- Update the preview on the fly when dragging the resolution slider.
- Fix a bug that prevented the monitor preview from properly invalidating the preview, leaving the old preview partially visible.
Needs to be included in 0.4 branch.
CORE-10786
svn path=/trunk/; revision=70577
- Use a single wipe function (FatWipeSectors) for FAT12, FAT16 and FAT32.
- Code has been reviewed by Hermès and me. Ready for merge into 0.4.
svn path=/trunk/; revision=70576
Remove a very old hack (that dated back from the Configuration Manager rewrite): now the hives are already correctly loaded in memory, therefore there is no need to call CmCreateRootNode after creating a hive, because the root node is subsequently initialized with calls to CmpCreateLinkNode. The comment saying that calls to CmCreateRootNode can be removed when CmpCreateLinkNode is used, is now in order. This means we correctly parse & mount the hives. The CmCreateRootNode function is now only used in the 'mkhive' tool in order to create file hives, since this tool needs to create new hives from nowhere (that's why also our bootloaders do not need this function: they only load & parse existing hive files).
The fact that this hack remained caused us hidden troubles: some hives (SAM, SOFTWARE) had "two" root keys: a first one that was unused (which was created by this hackish call), and the second one which was the one used (and was created by CmpCreateLinkNode as expected).
svn path=/trunk/; revision=70575
- Remove the Advanced page for non-admin users.
- Disable the 'complex script' and 'east asian language' checkboxes for non-admin users.
svn path=/trunk/; revision=70571
- Implement retrieving export names from forwarders
- Add error() function to print errors
- Refactor image/symbol loading
- Fix some bugs and add some hacks, so that it compiles in out tree
- Add to build
svn path=/trunk/; revision=70569
- The BaseBlock->Length member is really the size in bytes of the full hive, minus the header (base) block size.
- Remove the last remnents of the "hack of doom" aka. the one similar in magnitude to the US national debt, addendum to r61621 and r26712. The FileSize can be computed with BaseBlock->Length.
svn path=/trunk/; revision=70565
- Use the standard "CmHive" naming (that is used in all the rest of the 'config' module) for the first parameter of CmpInitializeHive.
[CMLIB]
- Fix the order of the 'HiveFlags'/'FileType' parameters in HvInitialize (the function 'CmGetSystemControlValues' in ntoskrnl/config/cmcontrl.c got them right already).
svn path=/trunk/; revision=70564
- HV_BLOCK_SIZE and HBLOCK_SIZE are the same thing; prefer the newly introduced HBLOCK_SIZE define.
- Improve the HvGetCell* macros.
- Add next to the defined hive signatures what their corresponding strings are (for documentation purpose).
- Some whitespace fixes in the headers.
svn path=/trunk/; revision=70561
Set the focus to the treeview when the main window recieves a WM_ACTIVATE message.
CORE-10769 #resolve #comment Fixed in r70560.
svn path=/trunk/; revision=70560
Small utility to auto-create spec files. Uses MS symbol server to evaluate data not available in the export table. Features:
- Parse export table for export names and forwarders
- Find function name for nameless exports
- Recognize calling convention / data exports
- Analyze function parameters
svn path=/trunk/; revision=70559
[BOOTMLIB]: Implement a few more BCD option functions.
Minus a PE loader (BmpLaunchBootEntry) and some more BCD parsing (BmpGetSelectedBootEntry) with some glue in between, the UEFI Boot Manager is nearly done. Once it is, it will be time to implement the actual loader -- Winload.efi. The good news is that we'll have all of bootlib already good to go (with all its hacks). The bad news is that Winload will turn on paging, so all those unimplemented paths and UEFI mode switches will have to be made to work.
svn path=/trunk/; revision=70556
- #if _WIN32 --> #ifdef _WIN32
- Define the "max" macro only if needed.
- Fix a comment.
- Plug a memory leak ('case_name' not freed in the "!*case_name" case of the dir_hash_create_dir function).
- Return a non-zero value (the file structure pointer) from dir_hash_add_file in case we succeed in creating the file in the ISO structure, and NULL otherwise (i.e. when the filename is empty). In that latter case we fail the hard way. No-named files are completely invalid in ISO archives. Now, the following testcase (e.g. to be added into bootcd.lst):
reactos/reactos.exe/=C:/test/reactos.exe
fails as expected (before, we were able to create a directory named "reactos/reactos.exe", and inside, a no-named file with the contents of C:/test/reactos.exe).
svn path=/trunk/; revision=70553
- Optimize splitting paths (merge chop_dirname and chop_filename functions).
- Make the code working as expected for the following testcases (you can test these by adding the following lines into e.g. bootcd.lst):
testdir1 --> create "testdir1" in the root directory.
testdir2/ --> create "testdir2" in the root directory. No no-named subdirectory is created.
testdir3// --> create "testdir3" in the root directory. No no-named subdirectory is created.
dir1//\/dir14///\//\// --> create "dir1" in the root directory, and "dir14" inside dir1. No no-named subdirectory is created.
EFI/ReactOS/Boot/Fonts//chs_boot.ttf=C:/somepath/chs_boot.ttf --> create the directories "EFI/ReactOS/Boot/Fonts", no no-named subdirectory is created, and create in the Fonts directory the file "chs_boot.ttf".
Before those changes, empty no-named (therefore, invalid) subdirectories were created in the second, third and fourth testcases, and an obscure error was returned in the fifth testcase.
svn path=/trunk/; revision=70552
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS kalkulačka je svobodný software vydaný pod licencí GNU GPL.\r\n\r\nZde najdete znění GNU GPL licence:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nZde také najdete překlad GNU GPL licence:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Rechner ist freie Software, herausgegeben unter der GNU GPL Lizenz.\r\n\r\nSie können hier eine Kopie der GNU GPL Lizenz erhalten:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nSie können hier auch eine Übersetzung der GNU GPL Lizenz erhalten:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Calculatrice ReactOS est un logiciel libre distribué sous licence GNU GPL.\r\n\r\nVous pouvez obtenir une copie de la licence GNU GPL ici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nVous pouvez aussi obtenir une traduction de la licence GNU GPL ici:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "A ReactOS Számológép a GNU GPL licenc alatt kiadott szabad szoftver.\r\n\r\nA GNU GPL licenc egy másolatát innen szerezheted be:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nValamint a GNU GPL licenc fordítását innen szerezheted be:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Calc e` software libero rilasciato sotto licenza GNU GPL.\r\n\r\nE` possibile ottenere una copia del testo della licenza GNU GPL all'indirizzo:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nE` possibile ottenere una traduzione del testo della licenza GNU GPL all'indirizzo:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "De ReactOS Rekenmachine is free software gepubliceerd onder de GNU GPL licentie.\r\n\r\nU kan een kopie van GNU GPL licentie hier bezichtigen:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nU kan ook een vertaling van de GNU GPL licentie hier bezichtigen:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Kalkulator er gratis programvare utgitt under GNU GPL lisensen.\r\n\r\nDu kan få en kopi av GNU GPL lisensen her:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDu kan også få en oversettelse av GNU GPL lisensen her:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Kalkulator ReactOS jest darmowym programem, publikowanym zgodnie z licencją GNU GPL.\r\n\r\nMożesz otrzymać kopię licencji GNU GPL tutaj:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nTłumaczenie licencji GNU GPL znajdziesz tutaj:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Calculadora ReactOS é um software livre lançado sobre a licença GNU GPL.\r\nVocê pode adquirir uma cópia da licença GNU GPL no endereço abaixo:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nVocê também pode adquirir uma tradução da licença GNU GPL no endereço abaixo:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Această aplicație este publică; fiind permisă modificarea și/sau (re)distribuția sa în termenii Licenței Publice Generale GNU publicată de Free Software Foundation; sau versiunea 2 a Licenței, sau (la alegere) a oricărei versiuni ulterioare.\r\n\r\nAceastă aplicație este distribuită doar în speranța de a fi utilă, FĂRĂ însă NICI O GARANȚIE; nici măcar cu garanția implicită a VANDABILITĂȚII sau a UTILITĂȚII ÎNTR-UN SCOP ANUME. Pentru mai multe detalii consultați Licența Publică Generală GNU.\r\n\r\nPuteți vedea această licență aici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDe asemenea puteți consulta traduceri neoficiale ale acestei licențe aici:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Калькулятор ReactOS - свободное программное обеспечение, распространяющееся по лицензии GNU GPL.\r\n\r\nВы можете получить копию лицензии GNU GPL здесь:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nОзнакомиться c переводом лицензии GNU GPL можно здесь:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Kalkulačka systému ReactOS je voľný softvér vydaný pod licenciou GNU GPL.\r\n\r\nKópiu licencie GNU GPL môžete získať tu:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nRovnako môžete získať preklad licencie GNU GPL tu:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Makina Llogaritese ReactOS eshte program falas i lanquar nen liçensen GNU GPL.\r\n\r\nJu mund te merrni nje kopje te liçenses se GNU CPL ketu:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nJu gjithashtu mund te merrni e liçenses se GNU GPL ketu:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Kalkylator är gratis programvara utgivet under GNU GPL licensen.\r\n\r\nDu kan få en kopia av GNU GPL licensen här:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDu kan också få en översättning av GNU GPL lisensen här:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Hesap Makinesi, GNU GPL ruhsatıyla yayımlanan bir özgür yazılımdır.\r\n\r\nGNU GPL ruhsatının bir kopyasını şuradan elde edebilirsiniz:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nBir de GNU GPL ruhsatının bir çevirisini şuradan elde edebilirsiniz:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "Калькулятор ReactOS - вільне програмне забезпечення, випущене за ліцензією GNU GPL.\r\n\r\nВи можете отримати копію ліцензії GNU GPL тут:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nВи можете також отримати переклад ліцензії GNU GPL тут:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_STRING_LICENSE "ReactOS 计算器是在 GNU GPL 协议下发行的自由软件。\r\n\r\n你可以从这儿取得一份 GNU GPL 协议的副本:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\n你也可以从这儿取得其翻译:\r\nhttp://www.gnu.org/licenses/translations.html"
Cet outil permet à un administrateur de créer un événement ayant un\n\
message et un identificateur personnalisés dans un journal d'événements\n\
spécifié.\n\
\n\
Liste de paramètres :\n\
/S système Spécifie le système distant auquel se connecter.\n\
\n\
/U [domaine\\]utili. Spécifie le contexte de l'utilisateur\n\
sous lequel la commande doit s'exécuter.\n\
\n\
/P [mot_de_passe] Spécifie le mot de passe du contexte\n\
utilisateur donné. Il est demandé s'il est omis.\n\
\n\
/L journal Spécifie le journal d'événement dans lequel\n\
l'événementest créé. Les noms valides sont :\n\
Application, System, Security\n\
(le dernier est réservé seulement pour le compte\n\
SYSTEM).\n\
\n\
/SO source Spécifie la source devant être utilisée pour\n\
l'événement (s'il n'est pas spécifié, la valeur\n\
par défaut de la source sera 'eventcreate').\n\
Une source valide peut être une chaîne et doit\n\
représenter l'application ou le composant qui génère\n\
l'événement.\n\
\n\
/T type Spécifie le type d'événement à créer.\n\
Les types autorisés sont : SUCCESS, ERROR, WARNING,\n\
INFORMATION.\n\
\n\
/C catégorie Spécifie la catégorie de l'événement (nombre entier).\n\
\n\
/ID identificateur Spécifie l'ID de l'événement. Un identificateur\n\
peut être un nombre entier compris entre 0 et 65535.\n\
\n\
/D description Spécifie la description du nouvel événement.\n\
\n\
/? Affiche cet écran d'aide.\n\
"
IDS_INVALIDSWITCH "Option invalide - '%s'.\n"
IDS_BADSYNTAX_0 "Syntaxe incorrecte.\n"
IDS_BADSYNTAX_1 "Syntaxe incorrecte. L'option '%s' requiert une valeur.\n"
IDS_BADSYNTAX_2 "Syntaxe incorrecte. La valeur pour l'option '%s' ne peut pas être vide.\n"
IDS_BADSYNTAX_3 "Syntaxe incorrecte. La valeur '%s' n'est pas autorisée pour l'option '%s'.\n"
IDS_BADSYNTAX_4 "Syntaxe incorrecte. La valeur ne peut pas être spécifiée pour l'option '%s'.\n"
IDS_BADSYNTAX_5 "Syntaxe incorrecte. L'option '%s' n'est pas autorisée plus de %lu fois.\n"
IDS_BADSYNTAX_6 "Syntaxe incorrecte. L'option obligatoire '%s' est absente.\n"
// IDS_BADSYNTAX_7 "Syntaxe incorrecte. La valeur pour l'option '%s' est en dehors de la plage autorisée.\n"
IDS_BADSYNTAX_7 "Syntaxe incorrecte. La valeur pour l'option '%s' doit être comprise entre %d et %d.\n"
IDS_LOG_NOT_FOUND "Le journal '%s' n'existe pas. Impossible de créer l'événement.\n"
IDS_SOURCE_NOCREATE "La nouvelle source ne peut être créée car le nom du journal n'est pas spécifié.\nUtilisez le commutateur /L pour spécifier le nom du journal.\n"
IDS_SOURCE_EXISTS "La source existe déjà dans le journal '%s' et ne peut pas être dupliquée.\n"
IDS_SOURCE_NOT_CUSTOM "Le paramètre Source est utilisé pour identifier les scripts/applications\npersonnalisées (pas les applications installées).\n"
IDS_SUCCESS_1 "Opération réussie: un événement de type '%s' a été créé dans le journal '%s'.\n"
IDS_SUCCESS_2 "Opération réussie: un événement de type '%s' a été créé avec la source '%s'.\n"
IDS_SUCCESS_3 "Opération réussie: un événement de type '%s' a été créé\ndans le journal '%s' avec la source '%s'.\n"
IDS_SWITCH_UNIMPLEMENTED "L'option '%s' n'est pas supporté pour le moment, désolé pour le désagrément!\n"
// IDS_BADSYNTAX_7 "Синтаксическая ошибка. Значение для опции '%s' за пределами разрешенного диапазона.\n"
IDS_BADSYNTAX_7 "Синтаксическая ошибка. Значение для опции '%s' должно быть в диапазоне от %d до %d.\n"
IDS_LOG_NOT_FOUND "Журнал '%s' не существует. Не удалось создать событие.\n"
IDS_SOURCE_NOCREATE "Новый источник не может быть создан, поскольку имя журнала не указано.\nИспользуйте параметр /L чтобы указать имя журнала.\n"
IDS_SOURCE_EXISTS "Источник уже существует в журнале '%s' и не может быть продублирован.\n"
IDS_SOURCE_NOT_CUSTOM "Параметр Источник используется для идентификации сценариев/программ\nпользовательских приложений (не установленных приложений).\n"
IDS_SUCCESS_1 "Операция выполнена успешно: событие с типом '%s' было успешно создано в журнале '%s'.\n"
IDS_SUCCESS_2 "Операция выполнена успешно: событие с типом '%s' было успешно создано с источником '%s'.\n"
IDS_SUCCESS_3 "Операция выполнена успешно: событие с типом '%s' было успешно создано\nв журнале '%s' с источником '%s'.\n"
IDS_SWITCH_UNIMPLEMENTED "Опция '%s' не поддерживается, приносим извинения за возможное неудобство!\n"
IDS_SUCCESS_1 "İşlem başarılı: ""%s"" türünde bir olay ""%s"" kaydında oluşturuldu.\n"
IDS_SUCCESS_2 "İşlem başarılı: ""%s"" türünde bir olay ""%s"" kaynağıyla oluşturuldu.\n"
IDS_SUCCESS_3 "İşlem başarılı: ""%s"" türünde bir olay ""%s"" kaydında ""%s"" kaynağıyla oluşturuldu.\n"
IDS_SWITCH_UNIMPLEMENTED """%s"" seçeneği şimdilik desteklenmiyor, sıkıntı için üzgünüm!\n"
END
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.