- Rewrite trap handler exit stubs in pure assembly, remove gcc inline assembly.
- Replace jmp to C handler with KiCallHandler macro, that expands to jmp on release builds for speed and call on debug builds to fix backtraces.
- Unroll the Syscall handler loop and use volatile keyword when reloading TrapFrame and DescriptorTable from the new stack to prevent the compiler from optimizing it away / moving it out of the loop.
- Bugcheck in KiTrap0DHandler, if the fault couldn't be resolved.
- Remove handling of V86 traps and edited traps in KiServiceExit, ASSERT to make sure they never happen.
- Replace code patching of the syscall exit handler with a function pointer.
- Use __debugbreak() instead of while(TRUE) in KiExitTrapDebugChecks
svn path=/trunk/; revision=45774
- Set output variable to null to fixup lazy callers
[KSPROXY]
- Enumerate input / output pins and their names
- Start implementing input / output pin
- Implement IEnumPins interface for CKsProxy filter
[MSDVBNP]
- Fix a bug (IEnumPins::Next should increase reference count on pin)
- Fix a bug (IPin::QueryFilterInfo should increase reference count on parent filter)
- Reference leakage is now fixed
svn path=/trunk/; revision=45768
- Implement IBDA_PinControl::GetPinID, IBDA_PinControl::GetPinType
- Comment out enumeration of IBDA_NetworkProvider
[MSDVBNP]
- Start implementing Network Provider for MPEG-2 based Networks
[MSVIDCTL]
- Start implementing ActiveX Control for Streaming Video
svn path=/trunk/; revision=45746
- Copy service status only once after a control packet has been sent to a service.
- Send a reply packet to the service manager after a control packet has been sent to a service.
svn path=/trunk/; revision=45716
- Copy service status only once after a control packet has been sent to a service.
- Send a reply packet to the service manager after a control packet has been sent to a service.
svn path=/trunk/; revision=45715
- Generate unique service status handles. Services could set the status information of another service because the status handles were not guaranteed to be unique for all services.
- Lock and unlock the service database when getting or setting service status information.
svn path=/trunk/; revision=45711
- LdrpProcessImportDirectoryEntry: Don't try to fixup functions if an import address table is empty. Fixes Panzer General 2. Most of the work of discovering, fixing and testing this problem was performed by Olaf Siejka.
svn path=/trunk/; revision=45690
- Whilst this is non-standard and potentially makes the code less portable, it's supported by both gcc and msvc and should bringg increased compilation speed due to its optimized behaviour (doesn't need to invoke the preprocessor)
- Patch by Amine Khaldi [amine.khaldi@reactos.org]
svn path=/trunk/; revision=45685