[NTOS]: Write down the PTE attribute flags for X86/AMD64. Timo/Physicus: Please double-check.
[NTOS]: Write down the array that converts from the MM_ protection flags arleady defined, into the appropriate PTE attribute flags that are architecture-specific.
[NTOS]: This will allow constant-time conversion of NT attributes into PTE attributes. Win32 attributes to NT attributes conversion won't be needed until VAD support.
svn path=/trunk/; revision=47427
Do not use _SEH2_YIELD in NtSetInformationProcess, NtQueryInformationThread and NtSetInformationThread while a thread or process is still being referenced.
svn path=/trunk/; revision=47425
[NTOS]: Implement MiDecrementShareCount (to start replacing MmReleasePageMemoryConsumer calls for pages that were grabbed through ARM3, not Mm).
[NTOS]: Implement MiInitializePfn (to initialize pages grabbed through ARM3/MiRemoveAnyPage instead of Mm/MmAllocPage).
[NTOS]: For stack pages, use new ARM3 PFN alloc/free routines, as a first test/beginning of the new ARM3 ABI.
[NTOS]: Implement and start using the Pending-Deletion PFN flag.
[NTOS]: As a result, for stack pages, the Transition page state will now be seen, and the new routine for re-inserting pages into the free list will now be used. Tracking of page table references is also done now for these pages (but we don't free the PT since this doesn't seem safe yet).
svn path=/trunk/; revision=47424
- Implement BreakOnTermination case for NtQueryInformationProcess and NtSetInformationProcess.
- Implement RtlSetProcessIsCritical.
svn path=/trunk/; revision=47423
- Don't pass device paths to FindFirstFile (similar to r47418)
- Allows to complete files, whose names start like DOS devices (COMx, LPTx. AUX, NUL, CON, etc)
See issue #4848 for more details.
svn path=/trunk/; revision=47421
- Don't pass device path to FindFirstFile, use short path instead
- Join duplicate code to simplify processing
See issue #3575 for more details.
svn path=/trunk/; revision=47418
- Fix stack skipping logic in IofCompleteRequest
- Fixes displaying MULTIPLE_IRP_COMPLETE_REQUESTS bug check
- Patch by lassy with a typo fix by me
svn path=/trunk/; revision=47417
- Initialize Unicode string structure, so that only allocated buffers are freed when leaving the function
- Fixes several heap warnings in kernel32:file test
svn path=/trunk/; revision=47407
- The timer is created usingUserCreateObject. It may be a good idea to save the handle in the timer object so that it can be deleted later.
- Dereference the object before attempting to delete it.
svn path=/trunk/; revision=47393
- Use PnpDetermineResourceListSize to determine the resource list size and remove the broken IopCalculateResourceListSize function
svn path=/trunk/; revision=47390
[NTOS]: Fix caller of IoGetDeviceProperty in pnpres.c to work with new function behavior (which matches WDK documentation and test cases).
[NTOS]: Implement helper function PnpBusTypeGuidGet, should be used later in other PnP code, but now used only for this patch.
[NTOS]: Implement helper function PnpDetermineResourceListSize, ditto. N.B. Current IopCalculateResourceListSize function is broken and callers should use this one instead.
[NTOS]: Implement helper function PpIrpQueryCapabilities, should be used later in device node code, but now only used for this patch.
[NTOS]: Implement helper function PnpDeviceObjectToDeviceInstance, ditto.
Main purpose of this patch is to unblock the new PCIx driver.
svn path=/trunk/; revision=47388
- Remove use of TMRF_DELETEPENDING for deleting timers as this was a bad idea.
Timers need to be deleted immediately as waiting for them to be deleted resulted in some processes running out of handles.
Fixes richedit winetest for editor.
- Add flag TMRF_TIFROMWND for timers created from user mode so the thread stored in the timer object is from the window and not caller.
Fixes an issue where FireFox would not show any of its windows and looked dead.
- When creating and deleting timers, If the window is non null and IDEvent is 0 then the IDEvent is changed to 1.
- When modifying timer list use UserEnter and Leave instead of a Critical Region only.
svn path=/trunk/; revision=47385
- Return STATUS_INVALID_ADDRESS if the caller tries to get a non-local address
- Return STATUS_ADDRESS_ALREADY_EXISTS if the caller uses an address that is in use
[MSAFD]
- Translate STATUS_ADDRESS_ALREADY_EXISTS -> WSAEADDRINUSE, STATUS_LOCAL_DISCONNECT -> WSAECONNABORTED, and STATUS_REMOTE_DISCONNECT -> WSAECONNRESET
[IP]
- Translate OSK_EADDRINUSE -> STATUS_ADDRESS_ALREADY_EXISTS, OSK_ECONNABORTED -> STATUS_LOCAL_DISCONNECT, and OSK_ECONNRESET -> STATUS_REMOTE_DISCONNECT
- Fixes waiting for binding during ws2_32 sock winetest
svn path=/trunk/; revision=47379
- Pass a valid pointer for lpErrno to WSPBind when performing an implicit bind
- Remove the hack in MsafdReturnWithErrno for dealing with stupid callers that provide don't provide a valid Errno pointer
svn path=/trunk/; revision=47378
- Remove an incorrect change
- Create a new function called TranslateNtStatusError to translate NTSTATUS to winsock error codes
- Call the TranslateNtStatusError in MsafdReturnWithErrno and also use it to translate AFD's poll event error codes
[AFD]
- Track the status for each poll event in our FCB and copy it back when we get an IOCTL_AFD_ENUM_NETWORK_EVENTS IRP
- Remove some useless PollReeval calls
svn path=/trunk/; revision=47377
- Zero the entire struct not just the lpNetworkEvents member
- Write the error codes returned from AFD to the iErrorCode array
- Fixes hundreds of ws2_32_winetest sock failures (only 104 failures now)
- Dedicated to Physicus
svn path=/trunk/; revision=47376
- Partially revert r47370 and apply a better patch
- Change ReadEvent and WriteEvent to notification events because we reset those events manually when we run out of buffer space
svn path=/trunk/; revision=47375