Commit graph

47035 commits

Author SHA1 Message Date
Rafal Harabien fa74282a41 [MSPAINT]
- Fix MSVC warnings

svn path=/trunk/; revision=52455
2011-06-25 14:34:52 +00:00
Sylvain Petreolle b55c5995a4 [OLE32]
Fix comcat build, DllGetClassObject has to remain public.

svn path=/trunk/; revision=52454
2011-06-25 14:30:54 +00:00
Rafal Harabien 352fd948b1 [VIDEOPRT]
- Fix MSVC warnings

svn path=/trunk/; revision=52453
2011-06-25 14:10:19 +00:00
Timo Kreuzer 6d9cf47ce2 [FEELDR]
- Don't try to load referenced dlls in any other dir than system32. A second attempt would fail on the first dll that was already loaded and the function would bail out before any missing dll could be loaded. This worked only by chance on gcc builds, because the 1st import was bootvid, which was always loaded in the 2nd attempt from system32, and the function failed after that, since hal and kdcom were already loaded.

svn path=/trunk/; revision=52452
2011-06-25 13:52:47 +00:00
Rafal Harabien de4cc449db [OLE32][SYSDM][DESK]
- Fix MSVC warnings

svn path=/trunk/; revision=52451
2011-06-25 13:49:48 +00:00
Rafal Harabien a40188b18a [NTOSKRNL]
- Fix some MSVC warnings
- Fix typo in IoReleaseRemoveLockEx

svn path=/trunk/; revision=52450
2011-06-25 10:26:59 +00:00
Timo Kreuzer 5dd7ba690b [HAL]
- Use pushfd instead of pushf in asm code
- Don't mix UCHARs and enums in bitfields, MSVC really doesn't like that

svn path=/trunk/; revision=52449
2011-06-24 23:04:13 +00:00
Amine Khaldi 454d9856e3 [CMAKE]
* Add winkd kdcom to the ISOs.

svn path=/trunk/; revision=52448
2011-06-24 22:46:55 +00:00
Cameron Gutman a77b5fde2c [IP]
- Set address length in the TDI address struct
- Simplify copying the address
- Zero the sin_zero member

svn path=/trunk/; revision=52447
2011-06-24 22:35:29 +00:00
Aleksey Bragin 2d89dd3da3 [NTDLL/LDR]
- The long awaited LDR rewrite, a commit for testing the new implementation. In case of serious problems it may be reverted (revert should be approved by me).
- Its features include:
* A proper ...everything. Process, thread initialization codes, DLL loading (including compatible path lookup, and compatible/proper loading order of the dependent DLLs, including their initialization) and mapping and section creation, reference counting, relocations, good and understandable PE code for walking import descriptor, snapping, etc etc. Hacks--; GoodCode++;
* Activation contexts operations are now being performed compatible to how Windows performs them (though the actual actctx implementation is still Wine's, it was modified to be compatible). Previously, actctx stuff was added to the ldr code like a pepper is added to the soup: in different places until it starts to work.
* Partial DLL redirection implementation.
* Possibility to support Shim engine and app compat stuff in future.
* More cool stuff, just browse the code.
- I fixed all regressions I could find but one (hang during shutdown of the 3rd stage). The purpose of this commit is to seek and destroy the regressions I couldn't find (if there are any).
- Some of the old rarely called ldr code still remains in startup.c and utils.c. They are subject to be rewritten/removed soon, and every remaining old function is marked with a respective DPRINT1 to see when it's being called.

svn path=/trunk/; revision=52446
2011-06-24 21:30:09 +00:00
Amine Khaldi 39b4073643 [CMAKE]
* Disable kdbg and enable _WINKD_ by default for msvc builds.

svn path=/trunk/; revision=52445
2011-06-24 21:28:43 +00:00
Timo Kreuzer 3412182c8e [NTOSKRNL]
Fix MSVC warnings

svn path=/trunk/; revision=52444
2011-06-24 15:52:19 +00:00
Cameron Gutman f6485fab90 [AFD]
- Queue the user-mode connect IRP before calling TdiConnect to avoid a race if the TDI_CONNECT IRP is completed before we get a chance to queue the user-mode IRP to accept the connection
- Change the non-blocking TDI helper functions to always return STATUS_PENDING if the completion function will be called to avoid duplicate handling of IRPs

svn path=/trunk/; revision=52441
2011-06-24 14:06:48 +00:00
Amine Khaldi b1bcc80fd3 [CMAKE]
* Fix psdk and dxsdk in the USER_WDK_HEADERS mode.

svn path=/trunk/; revision=52440
2011-06-24 12:12:27 +00:00
Amine Khaldi 9622e8516f [CMAKE]
* Add a way to use WDK headers (psdk, crt and ddk) instead of ours. To use it, just alter USE_WDK_HEADERS in configure.cmd to be 1 instead of 0.

svn path=/trunk/; revision=52439
2011-06-24 12:08:57 +00:00
Cameron Gutman 0710002caa [MSAFD]
- Fail SIO_GET_EXTENSION_FUNCTION_POINTER
- Fixes the crash during ws2_32_winetest sock
- In my testing, "sock: 4374916 tests executed (0 marked as todo, 93 failures), 6 skipped."

svn path=/trunk/; revision=52438
2011-06-24 04:31:31 +00:00
Cameron Gutman f581e4cb37 [IP]
- Fix copying of the remote address when satisfying an accept request
- accept() and WSAAccept() no longer report strange peer addresses
- Fixes a few ws2_32_winetest sock tests

svn path=/trunk/; revision=52437
2011-06-24 03:35:30 +00:00
Cameron Gutman f16fa41fb2 [VFATLIB]
- Don't overwrite format status with lock status

svn path=/trunk/; revision=52436
2011-06-24 01:36:32 +00:00
Cameron Gutman a3b61053bc [VFATLIB]
- Lock the volume before formatting to prevent concurrent access during formatting
- This should (in theory) fix our formatting issue on mounted devices but currently we don't support FSCTL_LOCK_VOLUME in our FS drivers

svn path=/trunk/; revision=52435
2011-06-23 22:34:03 +00:00
James Tabor a50aff948b - Fix debug build.
svn path=/trunk/; revision=52434
2011-06-23 22:25:50 +00:00
Sylvain Petreolle a4e05ed476 [CMAKE]
Fix mshtml.tlb build with Visual Studio.
With mshtml_tlb and mshtml.tlb targets, the solution contained 2 mshtml_tlb targets.

svn path=/trunk/; revision=52433
2011-06-23 09:41:36 +00:00
Timo Kreuzer b4e4d6e5c4 [NTOSKRNL]
Optimize KiSystemCallTrampoline inline assembly for MSVC. save one register, use eax for the handler address and don't assign to an intermediate variable before returning (hint by Alex)

svn path=/trunk/; revision=52430
2011-06-22 20:15:58 +00:00
Timo Kreuzer 590a071060 [NTOSKRNL/HAL]
- Fix a bug is MSVC inline assembly
- use iretd instead of iret
the msvc compiled kernel boots a bit further now

svn path=/trunk/; revision=52429
2011-06-22 19:04:28 +00:00
Amine Khaldi 09a2c1a1cf [CMAKE]
* Add shdocvw to msvc build.

svn path=/trunk/; revision=52428
2011-06-22 18:05:47 +00:00
Amine Khaldi 64c173811e [CMAKE]
* Add urlmon back to msvc build, but not into bootcd.
* Add back cryptui, oleaut32 and shlwapi as a result.

svn path=/trunk/; revision=52427
2011-06-22 17:33:22 +00:00
Amine Khaldi 512325377f [CMAKE]
* Skip more modules that do not compile, in MSVC build.

svn path=/trunk/; revision=52426
2011-06-22 16:08:07 +00:00
Amine Khaldi 979151f7db [CMAKE]
* Skip more modules that do not compile, in MSVC build.

svn path=/trunk/; revision=52425
2011-06-22 16:07:16 +00:00
Amine Khaldi 59fa94bbb5 [SHELL32]
* Fix msvc build.

svn path=/trunk/; revision=52423
2011-06-22 15:18:05 +00:00
Cameron Gutman 5fded3cb3f [OSKITTCP]
- Register for asynchronous buffer notifications from oskittcp which will fire when a packet is sent
- Fixes sending pending packets that can't fit in the window and fixes the graceful shutdown hang

svn path=/trunk/; revision=52422
2011-06-22 14:05:01 +00:00
Gabriel Ilardi 27f33adbfb [BOOTDATA]
Missed USBDRIVER change from 52361.

svn path=/trunk/; revision=52421
2011-06-22 13:51:14 +00:00
Amine Khaldi 5b429883dc [CMAKE]
* Add /W3 to compiler flags, and use the proper macro.

svn path=/trunk/; revision=52420
2011-06-22 13:17:37 +00:00
Amine Khaldi de7f3b854f [CMAKE]
* Skip some modules that do not compile, in MSVC build.
* Welcome, MSVC BootCD. I'm sure ros devs will fix the s.it out of you.. Right ?

svn path=/trunk/; revision=52419
2011-06-22 11:51:02 +00:00
Amine Khaldi 583b4eb6ef [CMAKE]
* Add WIN32 and _WINDOWS definitions for i386 msvc builds.
* Skip some modules that do not compile, in msvc build.

svn path=/trunk/; revision=52418
2011-06-22 11:31:01 +00:00
Amine Khaldi 40fc6fe6d2 [CMAKE]
* Properly set CMAKE_C_FLAGS_INIT and CMAKE_CXX_FLAGS_INIT.

svn path=/trunk/; revision=52417
2011-06-22 10:14:41 +00:00
Cameron Gutman 6b7b487e8c [TCPIP/IP]
- Wait until the all pending sends are serviced before shutting down the socket on a graceful disconnect
- Cancel pending sends and receives on abortive disconnect
- Remove the nasty hack that was the completion queue and replace it with async completions like the lwIP implementation does
- There is a bug with the graceful disconnects which occurs if the graceful disconnect cannot be serviced immediately (a very rare case in my testing) and results in the shutdown() call stalling forever because oskittcp never indicates that send is possible again (which would allow pending send IRPs to be serviced and the shutdown IRP to be completed)

svn path=/trunk/; revision=52416
2011-06-22 00:41:40 +00:00
Cameron Gutman d7a7a20e8b [AFD]
- Hold on to the disconnect IRP until all pending sending IRPs are sent to the transport driver if a controlled disconnect was requested

svn path=/trunk/; revision=52415
2011-06-22 00:17:19 +00:00
Amine Khaldi 379fa83099 [CMAKE]
* Handle the case where we may initially set some CMAKE_C_FLAGS and/or CMAKE_CXX_FLAGS.

svn path=/trunk/; revision=52414
2011-06-22 00:06:10 +00:00
Alex Ionescu 976b791c1c [NTOSKRNL]: ";" -> "," build fix.
svn path=/trunk/; revision=52413
2011-06-21 22:52:02 +00:00
Alex Ionescu cf20a2d00d [NTOSKRNL]: It seems NtYieldExecution in Windows heavily biases towards avoiding a yield as much as possible, and thus attempts to locklessly check the PRCB's ready summary. Problem being that the old code was running a bunch of instructions before checking for this ready summary, and doing a double-fs/gs dereference to get the ready summary. Upon reading some WRK documentation, it appears Windows uses a KiGetCurrentReadySummary macro, which WinDBG analysis shows to be an inline that reads the ReadySummary straight from PrcbData with only a single segment read, and no code preceeding it. Although it's "unlikely" to ever really be a problem, it's perhaps best to replicate this behavior since there could be dependencies on it. Comments in file point to PDF with this information (hosted on Microsoft Research's website, publically accessible).
[NTOSKRNL]: Also, fix locking order such that the current PRCB is only read after the IRQL is raised to SYNCH_LEVEL. I'm too tired to tell if this is a requirement, but the PDF shows it being done that way in Windows, so I've re-ordered the operations to match. Intuition would indicate that this shouldn't matter, as fs:1C shouldn't change from under us in the middle of execution, but why argue with public source code?
vicmarcal said it's okay if this breaks the build (I don't have any way to build ReactOS anymore).

svn path=/trunk/; revision=52412
2011-06-21 22:43:55 +00:00
Rafal Harabien 562dd382dd [SHELL32]
- Fix resources for MSVC. Patch by Igor Igor Paliychuk
[NTOSKRNL]
- Match NT behavior in DisplayFilter

svn path=/trunk/; revision=52411
2011-06-21 22:15:48 +00:00
Rafal Harabien 964aabb309 - Fix build
svn path=/trunk/; revision=52410
2011-06-21 21:06:18 +00:00
Rafal Harabien a965ca6b67 [BOOTVID]
- Revert part of r52239: Fix support for \r and do not handle backspace
- Simplify it a bit

[NTOSKRNL]
- Add backspace support to KdpScreenPrint
- Do not draw boot text bitmap if InbvDisplayString is called with "" or "." (matches NT behavior)

svn path=/trunk/; revision=52409
2011-06-21 19:47:13 +00:00
Amine Khaldi 8500f6aea6 [PSDK]
* CLSID_ShellFolderViewOC is defined in shldisp.idl/h. A proper fix is due for msvc build.

svn path=/trunk/; revision=52408
2011-06-21 18:42:51 +00:00
Amine Khaldi a197042933 [TRANSLATIONS]
Igor Paliychuk:
* Convert UKRAINIAN and RUSSIAN localization files to utf-8 in the dll folder.
* Add UKRAINIAN translation for msports.
* Some Wine modules also were converted (already sent upstream).

svn path=/trunk/; revision=52407
2011-06-21 18:30:06 +00:00
Amine Khaldi c9aeb1479f [PSDK]
* Add missing CLSID_ShellFolderViewOC.

svn path=/trunk/; revision=52406
2011-06-21 17:56:10 +00:00
Cameron Gutman 85b52ced7c [IP]
- Don't attempt to service a request if the only flag specified was SEL_FIN
- Handle TDI_DISCONNECT_RELEASE properly
[OSKITTCP]
- Verify that the socket is in a legal state to do a send or receive
- Don't indicate send and receive events when the socket is not connected or has been been closed in that particular direction
- Add a small hack to soshutdown so shutdown in the send direction works correctly (ie. doesn't shutdown receive)
- Fixes the hangs in ws2_32_apitest ioctlsocket and ws2_32_apitest recv

svn path=/trunk/; revision=52405
2011-06-21 16:23:27 +00:00
Rafal Harabien d5e9cb0dd8 [NTOSKRNL]
- Display boot blue bitmap when native application or kernel calls NtDisplayString with string displaying enabled
- Fix drawing order in Phase1InitializationDiscard

svn path=/trunk/; revision=52404
2011-06-21 15:53:02 +00:00
Timo Kreuzer 261c786603 Merge missing tuff from r51731
- Improve a DPRINT
- Initialize a global variable

svn path=/trunk/; revision=52403
2011-06-21 14:45:17 +00:00
Cameron Gutman 0fbf8e4374 [AFD]
- Remove extra cruft around the TdiReceive call
- Handle send and receive requests better after a socket closure

svn path=/trunk/; revision=52402
2011-06-21 13:59:49 +00:00
Timo Kreuzer 033ddb3799 [OLEAUT32]
- add assembly version of call_method for MSVC
- fix a syntax error (sizeof(int[3]) is not valid C)
- move definitions to the top of the CMakeLists.txt

svn path=/trunk/; revision=52401
2011-06-21 13:22:07 +00:00