- Pass correct flags when creating the fdo
- set DO_DIRECT_IO flag
- clear DO_DEVICE_INITIALIZING flag
- Move all calls to ExAllocatePoolWithTag to a function AllocateItem which is also responsible for zeroing memory
- Fix ISubDevice GUID
- don't disconnect the interrupt on cleanup, IInterruptSync_fnDisconnect exist for that purpose
- If there is no interrupt yet connected, call the synchronized routine holding the internal spinlock
- Copy the current stack location when forwarding a Irp PcForwardIrpSynchronous
- Implement ISubdevice interface for IPortTopology
- Initialize the dpc for calling Miniport object, as it might create an interrupt object which immediately fires an interrupt
- If the caller doesnt provide an IAdapterPowerManagement interface, clear the existing reference
- Fix 2 bugs in IRegistryKey_NewSubKey which made the system crashing
- Pass the pdo to IoOpenDeviceRegistryKey
- Move all guids and IIDs to own file and initialize them
- portcls initializes now to the first interrupt fired (vbox+ICH AC97 driver | qemu+es1370 driver)
svn path=/trunk/; revision=38810
* Fix zero-sized input string handling, result would be error instead of success and zero output string.
* If destination string's MaximumLength and Length are equal, it's not an erroneous situation (in fact, a very common situation).
* Add comments.
svn path=/trunk/; revision=38808
- DbgkpSetProcessDebugObject: Fix the traversing of the debug object's event list
- Implement DbgkClearProcessDebugObject
svn path=/trunk/; revision=38794
Clients start of in byte stream mode, regardless of the pipe's mode.
- finfo.c: NPFS does not allow changing read mode to message for byte stream mode pipes.
- rw.c: The format in which data is in the pipe's buffer is based on the pipe mode vice read mode.
Implement reads in byte stream mode for pipes using message mode.
Fixed a bug that could caused buffer data to be corrupted due to incorrect calc of WritePtr position.
- fsctrl.c: Return buffer from NpfsPeekPipe if caller requested.
Use a mutex before reading the pipe's buffer.
Return the correct length in Irp info.
svn path=/trunk/; revision=38790
Also echo [HOST-AR] for invocations of the host "ar"
Use [HOST-CC], [HOST-LD] and [HOST-AR] in bootstrap makefiles as well
svn path=/trunk/; revision=38788
Don't precompile headers with g++: g++ is stupid and, ironically, will precompile .h headers but not .hpp headers (it will mistake them for linker input files). Always use gcc instead
Don't let gcc guess the language of the header, either: we detect "C++ modules" automatically in rbuild, use that for consistency
svn path=/trunk/; revision=38784
widl can now automatically generate boilerplate code for DLLs hosting RPC proxies (and ole32 and oleaut32 now use this feature): invoke the generation automatically from rbuild rules for rpcproxy modules
svn path=/trunk/; revision=38774
- DbgkMap/UnmapViewOfSection: Don't check for the DeadThread flag, doing so is only necessary during early thread creation.
- DbgkCreateThread: Set the StartAddress pointer in the case where we only send the Create Thread message. Also, we should receive the target thread as the first parameter.
- NtDebugActiveProcess: Don't allow debugging the current process.
- NtDebugContinue: We should signal the Debug Object, not the Debug Event. Also make sure we pass the correct event to DbgkpWakeTarget.
- NtWaitForDebugEvent: Cleanup probe and capture of the input timeout.
svn path=/trunk/; revision=38768
added lib/pseh/i386/framebased-gcchack-asm.S
added lib/pseh/i386/framebased-gcchack.c
deleted lib/pseh/i386/framebased-gcchack.S
modified lib/pseh/pseh.rbuild
framebased-gcchack.c is irreversibly married to the x86 architecture. Move it to the appropriate place
Rename framebased-gcchack.S because its base name now conflicts with framebased-gcchack.c
svn path=/trunk/; revision=38760
- Improve FAT_IRP_CONTEXT structure to suit future needs.
- Some more cleanup of fastfat.h (to be separated into a few headers as shown by Alex Vlasov).
- Implement FatBuildIrpContext / FatDestroyIrpContext.
- Implement FatCompleteRequest.
- Implement dispatching of FSCTRL requests.
- DPRINT->DPRINT1 for all unimplemented functions.
- We receive a mount volume request!
svn path=/trunk/; revision=38755
- Change thread dereferencing mechanism in NtUserSetWindowsHookEx:
* A thread may be referenced in some cases when it's a system-wide hook, however dereference flag was not set for these, so they leaked a reference. Add a ThreadReferenced boolean var to track real references, and set hook's flag according to it.
* There should be no need to call ObDereferenceObject on a thread when a call to IntRemoveHook was already performed (in failure branches). IntFreeHook() will dereference the thread object.
svn path=/trunk/; revision=38754