- Implement support for /BURNMEMORY option.
- Don't stop boot on bad memory type
Patch by Jay Smith, modified by Aleksey, even more modified by me.
See issue #4957 for more details.
svn path=/trunk/; revision=48565
- Allocate memory for the TCP table properly
- Only netstat -a should show UDP connections
- Patch by Jan Roeloffzen [jroeloffzen at hotmail dot com]
svn path=/trunk/; revision=48564
- Copy our TCP table into the caller's buffer if we actually get one (not yet!)
- Return ERROR_NO_DATA if we fail to get anything from TCP/IP
- Fixes bug #4185
svn path=/trunk/; revision=48563
- Initialize the Parent member of the new Vad to NULL. This also initializes the Balance to 0 aka RtlBalancedAvlTree
Should fix the failed assertion that randomly occurs.
svn path=/trunk/; revision=48562
- Fix a major bug in socket closure. Prior to this, a socket with pending IRPs that could not be satisfied when the socket was closed would be destroyed without completing the pending requests. Now, we check all of our IRP queues if we get a SEL_FIN signal and kill all the requests that cannot be satisfied immediately.
- Maybe it's just me but Firefox 2 seems much more responsive after this fix (like actually usable!)
svn path=/trunk/; revision=48561
Make our FAT driver PNP aware.
On PNP requests it should handle, it will return STATUS_NOT_IMPLEMENTED.
On the others, it will pass them to lower driver.
This is the first step outside the kernel into getting IoGetRelatedTargetDevice (and so notifications) working.
It doesn't work at the moment, as class2 doesn't handle PNP.
[NTOSKRNL]
Some fixes to IRP cancelation process:
- Renamed IopRemoveThreadIrp() to IopDisassociateThreadIrp() to match Windows 2k3
- Made dead IRP global, to make its debug easier.
- IopDisassociateThreadIrp(), Handle dead IRP at dispatch level, using IoCompletionLock.
- IopDisassociateThreadIrp(), Use the proper error code to write the entry to logs.
- IoCancelIrp(), removed non needed ASSERT, which is even not present on Windows, removed corresponding var as well.
- IoCancelIrp(), fixed parameters to KeBugCheckEx() call.
- IoCancelThreadIo() is pageable.
- IoCancelThreadIo() under Windows isn't using given thread, but using current. Do the same here.
All that stuff doesn't fix bug #5550, it comes from outside.
Patch by Pierre Schweitzer, modified by me to make it compile. If it breaks anything, don't blame me!
svn path=/trunk/; revision=48560
- Simplified IopGetRelatedTargetDevice implementation
- Added notification in case of success in NtSetVolumeInformationFile()
Patch by Pierre Schweitzer
svn path=/trunk/; revision=48559
- Fixed IoGetRequestorProcess, IoGetRequestorProcessId, IoGetRequestorSessionId
- Pass user buffer in NtNotifyChangeDirectoryFile
- Fixed magic value in IoGetPagingIoPriority
Patch by Pierre Schweitzer
svn path=/trunk/; revision=48557
- Remove IntEngExtEscape stub. This function is completely useless. If the driver doesn't provide a DrvEscape, the function should simply fail and must return 0, not -1.
- If a NULL surface is passed, pass on NULL pso to the driver function
See issue #4563 for more details.
svn path=/trunk/; revision=48555
- Revert 48546. The code was correct, and there is more of same code in other places which firstly cancels the IRP and then moves to the next entry. The actual bug is somewhere else.
See issue #5550 for more details.
svn path=/trunk/; revision=48551
- Debug helpers: PciDebugPrintIoResReqList, PciDebugPrintIoResource, PciDebugCmResourceTypeToText
Now hit assert Assertion '(DeviceNode->Flags & DNF_ADDED)' failed at ntoskrnl/io/pnpmgr/pnpmgr.c line 201, too night to debug, maybe tomorow
svn path=/trunk/; revision=48550
- Stub support for PnP IRP to PDO: IRP_MN_QUERY_RESOURCE_REQUIREMENTS (PciQueryRequirements), IRP_MN_QUERY_RESOURCES(PciQueryResources)
- Add support for PnP IRP to FDO: IRP_MN_QUERY_CAPABILITIES (handle in PciFdoIrpQueryDeviceCapabilities)
- Build device capability UI number (PciDetermineSlotNumber), use PIR$ (seem support broken, need to check loader) or device property for bus not root
- Use parent attachee device and this PDO for build device/system wake states, latency, device/system power mappings
- PCI-ID manage support: PciInitIdBuffer, PciIdPrintf, PciIdPrintfAppend
- Debug helper: PciDebugDumpQueryCapabilities
- Thanks richard for advise + beer
PCI-X driver now pass 10000 codes lines!
svn path=/trunk/; revision=48548
- Move to the next entry in the thread IRP list before calling IoCancelIrp because if everything works as expected and IoCompleteRequest is called, we could end up with the IRP ripped out from under us before can move to the next element
- See issue #5550 for details.
svn path=/trunk/; revision=48546
- Create a temporary variable and pass that to WSAIoctl for the bytes returned value instead of passing argp and corrupting the value we just retrieved
svn path=/trunk/; revision=48545
- NtInitializeRegistry expects not just CM_BOOT_FLAG_ACCEPTED, but a number of the accepted control set to be added to it. After fixing this, NtInitializeRegistry won't fail with STATUS_INVALID_PARAMETER (someone should check return status for errors...) anymore. As a result lazy flushing is enabled.
svn path=/trunk/; revision=48536
- Implement asynchronous and delayed close operations.
- Fix a logical bug in FatiClose code, which led to always closing the file object (and freeing respective FCB/VCB/CCB), and then checking flags and queuing a delayed close. Instead, it should only try to close if it's not marked as a delayed close.
- Support stuff added (queues, mutex for closing lists, etc).
- Misc cleanup, debug silencing.
svn path=/trunk/; revision=48525
- Update lpcbBytesReturned when FIONREAD is called
- Fix the value inside lpErrno when XxxSocketInformation() fails
- Pass the unrecognized IOCTLs to the winsock helper (no behavior change for this yet because wshtcpip's WSHIoctl is unimplemented)
svn path=/trunk/; revision=48522
- Plug in a commented out notification call in case of cleanup.
- Implement a case of device info query.
- Implement lock control.
svn path=/trunk/; revision=48518
Stop using the new paged pool code, before ExpLoadInitialProcess is called. For so far unknown reasons, it causes evil things to happen. Fixes "Assertion NewSize < pool->UserSize failed"
See issue #5551 for more details.
svn path=/trunk/; revision=48517
Pierre Schweitzer
- Fix volume opening on FAT volume. Commented out a directory check as it doesn't match realized tests, in spite of what's in WDK.
svn path=/trunk/; revision=48513
- Introduce some _ANONYMOUS_STRUCT and NONAMELESSUNION based definitions.
[DDK]
- Update XDK generated headers to reflect the recent changes.
- Update some header guards.
- Add some missing new lines at the end of files.
- Fix PUSB_DEVICE_HANDLE guard.
- Introduce some _ANONYMOUS_STRUCT and NONAMELESSUNION based definitions.
[PSDK]
- Update some header guards.
- Add missing new line at the end of driverspecs.h
[NDIS]
- Update the ndis header guard.
svn path=/trunk/; revision=48511
- Implement opening an existing DCB.
- Add a bunch of useful macros and helper functions and use them throughout the code.
- Implement in-memory setendoffile set information class. On-disk to be done.
- Implement user fs ctrl wrapper with stubs.
- Fill up QueryVolumeInfo with classes it should handle. Silence up a warning about classes it should reject.
svn path=/trunk/; revision=48498
- Move several headers to PSDK where they belong.
- Add _ANONYMOUS_UNION.
- De-duplicate __GNU_EXTENSION definition from several headers.
- Remove semicolons after the closing bracket of extern "C"
- Add a missing one in ioaccess.h
- Apply a consistent formatting.
[PSDK]
- De-duplicate __GNU_EXTENSION definition from several headers.
- Add missing extern "C" opening bracket in ddkernel.h and remove the semicolon from the closing one.
- Add __GNU_EXTENSION definition to ddraw.h and remove the semicolon after the closing bracket of extern "C"
- Add missing extern "C" closing bracket in ddrawi.h
- Remove semicolons after the closing brackets of extern "C" in dinput.h, dmemmgr.h and sti.h
- Apply a consistent formatting.
[DXSDK]
- Move ddraw.h to PSDK.
svn path=/trunk/; revision=48497
- Set the SO_BROADCAST option to 1 before we send data to the broadcast address so we don't get stonewalled by mswsock
- DHCP is now compatible with mswsock_new
svn path=/trunk/; revision=48493
PciScanBus second pass enabled: PciProcessBus, most stubs now until VGA/ISA system tested
PciClassifyDeviceType implement as helper function
PCI Enumeration 100% complete!
svn path=/trunk/; revision=48492
- Check the return value of WSPSelect instead of the error number because the error number doesn't have to be initialized if the function doesn't return SOCKET_ERROR
svn path=/trunk/; revision=48491
- Implement close and cleanup infrastructure.
- Add necessary FCB and VCB counters.
- Add missing op and file locks initialization.
- A lot of small cleanups, improvements, and other things, bringing fastfat_new much closer to a minimally working state.
svn path=/trunk/; revision=48487
- Implemented CdfsIsNameLegalDOS8Dot3 and use it to check filenames. It avoids
calling Rtl* functions that need NLS. (Modified merge of 35501).
See issue #2404 for more details.
svn path=/trunk/; revision=48486
- Use messages instead of events to notify the update threads
- Fixes a handle leak
- Fix some typos
- Patch by Carlo Bramini (carlo.bramix at libero dot it)
See issue #3104 for more details.
svn path=/trunk/; revision=48484
[SHLWAPI] Fix some comments (As usual: "should be sent to wine")
Patch by Rafal Harabień, <rafalh1992 AT o2 DOT pl>
See issue #5557 for more details.
svn path=/trunk/; revision=48482
Make functions in ntstrsafe.h static, so they can be used in more than one file. Maybe that encourages people using it instead of unsafe and banned apis.
svn path=/trunk/; revision=48481