- Massive IPPacket usage overhaul (fix missing frees, initializations, and double frees)
- Make IP receive completely agnostic of the buffers and data location (part 2 of 2)
- Use paged pool for the majority of allocations during receive and assembly
- Implement ProtocolReceivePacket for faster performance with 3rd party NIC drivers
- Fix a buffer overflow if an IPv4 packet is received with a header larger than 20 bytes
- Many more improvements and bug fixes
svn path=/trunk/; revision=54597
- Fix more set active window API tests. The window postion change message with fixed lparam is erroneous. How can the address be the same since it originates from kernel space?
svn path=/trunk/; revision=54596
- Avoid an extra copy operation when receiving packets
- Optimize loopback code a bit
- Make IP receive independent of the location of the data and continuity of buffers in the NDIS packet for ProtocolReceivePacket support (part 1 of x)
svn path=/trunk/; revision=54593
[KERNEL32]: Replace BasepGetDllPath with BasepComputeProcessDllPath. Paths now work right. This is step 1. SearchPatchW is next (BasepComputeProcessPath), followed by CreateProcessInternalW (BasepComputeProcessExePath). Then all paths will work right.
svn path=/trunk/; revision=54592
- Fix a logic error
- Signal the balancer in the !CanWait case if we're too low on pages since it runs asynchronously as of recently
svn path=/trunk/; revision=54591
- Prevent buffer overflow when creating the display value for a value of type REG_MULTI_SZ.
- Prevent processing excess data when preparing a value of type REG_MULTI_SZ for editing.
svn path=/trunk/; revision=54590
- Print a warning and signal RosMm to trim pages if we drop below MmMinimumFreePages in MiRemovePageByColor and MiUnlinkFreeOrZeroedPage
svn path=/trunk/; revision=54589
- Depending on how big the full path is, either the application path or the full path should be used. Size the buffers correctly, too.
- If the caller did not specify a window title, should use the app path as title.
- Clear the current directory handle if InheritHandles is false.
- Correctly handle CREATE_NEW_PROCESS_GROUP and CREATE_NEW_CONSOLE.
- Check the failure codes of many APIs that we just assumed returned success.
- STARTF_USEHOTKEY | STARTF_SHELLPRIVATE should be checked when inheriting console handles.
- Handle 1MB and 16MB reservation requests.
- Bugs remain: ImageSubsystem not written, and failure will leak. To be fixed later.
svn path=/trunk/; revision=54587
- Convert the remainder of PL strings to UTF-8 to fix build, since that RC is declared as Unicode. Convert italian resources to UTF-8 and place all rc in a single section;
svn path=/trunk/; revision=54582
- Release the address space lock before entering SEH because an exception would result in recursive acquisition of the address space lock when the fault handler tries to grab it
svn path=/trunk/; revision=54579
Remove class2 and scsiport service keys from the registry because these drivers are loaded automatically when they are needed.
svn path=/trunk/; revision=54575
- store property item when there are custom specific properties
- Fix bug where the property handle routine received an invalid pointer to the data
svn path=/trunk/; revision=54572
add wine dll registration functions to libwine (taken from winecrt0)
TODO: support for linking multiple res files
rbuild/cmake: generating .rgs files from typelibs
svn path=/trunk/; revision=54566
NtFreeVirtualMemory:
- Handle the case where a region size of 0 is passed in
- Return the correct error status for failure
- Copy back the rounded values
- Add checks and prints to catch callers doing nasty things (one is commented out because csrsrv triggers it trying to release the first 1 MB of RAM during video init, not sure what to do there)
- There is a heap bug where calling RtlReAllocateHeap on a large block allocation (HEAP_ENTRY_VIRTUAL_ALLOC is set) will cause a call to NtFreeVirtualMemory with an offset base (illegal) and a length smaller than the total pages reserved in the VM region (also illegal). This bug is exposed by setupapi when it parses large INF files (like the PRO/1000 driver INF).
svn path=/trunk/; revision=54565
Normalize all crt dll entry points to be identical.
Implement a single per thread data structure, instead of ancient and incomplete
"wine port" hack and use it everywhere.
Remove completely unused HeapCreate calls that just wasted memory.
Update cpp.c and cppexcept.c to wine 1.3.33
Fix up strtok, wcstok, rand, and _beginthread_trampoline according to wine.
Add place holders for future locale stuff.
Patch by Samuel Serapion.
svn path=/trunk/; revision=54563
- Implement NdisReturnPackets and do proper reference tracking of packets sent to ProtocolReceivePacket
- Plug a massive memory leak that resulted in leaking every packet descriptor that any deserialized miniport indicated to TCP/IP
svn path=/trunk/; revision=54559
- Call FreeCommonBuffer() synchronously if we're running at PASSIVE_LEVEL to avoid cases where the miniport could be freed before the work item runs
svn path=/trunk/; revision=54558