- Fix category description
[KSPROXY]
- Create pin handle when other pin is connecting to the output pin
- Defer loading proxy plugins when the pin is about to connect
svn path=/trunk/; revision=46879
- Fix typo
- Store object interface functions in KSBASIC_HEADER OuterUnknown
- Implement KsDeviceRegisterAdapterObject, KsRegisterAggregatedClientUnknown, KsGetOuterUnknown
- Partly implement clock property functions
- Rewrite KsValidateConnectRequest, KsPinPropertyHandler to handle KSPIN_DESCRIPTOR_EX, which is used by IKsFilter implementation
- Dispatch unsupported interface requests to the clients registered inner aggregate (device / filter factory / filter / pin)
- Rewrite filter functions which deal with KSPIN_DESCRIPTO, as the client can dynamically modify the PinDescriptors array
- Handle matching create requests which differentiate in case
- Implement pin allocator framing property handler
svn path=/trunk/; revision=46878
- Create a function for updating the currently selected theme id
- Call this function before saving theme data to the registry, fixes saving invalid theme indexes
- Remove unnecessary header tags
See issue #5016 for more details.
svn path=/trunk/; revision=46870
- Remove WorkItem code yet again as its not needed.
- Set Ports PortChange to STATUS_CONNECTED when detecting insertion of new usb device.
- Change UrbWorkerThread to use timer and wait so we dont waste cpu cycles.
- Implement IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION.
- Upon receiving the IRP_MN_QUERY_DEVICE_RELATIONS with type BusRelation, stop processing the root hub IRPs,
as at this point the hub driver has been informed of everything it needs to know about the device.
The next SCE request will remain pending until another devices is connected.
- Implement ExecuteControlRequest for all control related communications to/from usb devices.
- Remove GetDeviceDescriptor and GetDeviceStringDescriptor as no longer needed.
- Fix implementation of Direct Call function CreateUsbDevice.
- Implement Direct Call functions InitializeUsbDevice and GetUsbDescriptors.
- Misc rearranging and clean up.
svn path=/trunk/; revision=46867
There are two executables (SysGen.Designer) and (SysGen.Make)
SysGen.Designer is a windows forms tool that allows to generate customized reactos images, it is similar in concept to Windows CE Platfom Builder. SysGen.Make is the actual Rbuild clone, It has three main parts, the .rbuild file parser + in-memory tree representation, the backends , and the auto generated files. The Mingw backend used to work 1'5 years ago and produced a 100% valid makefile.auto but have to be updated to be able to build a recent revision. Rewriting parts of it to take advantage of C# 3.5 extension methods would probably reduce the code by 50%. The other two parts are quite stable.
This code was only a proof of concept and was never intended to be released so there is a ton of unpolished code and hacks required by the current C++ implementation that should be removed.
How to test it:
Select SysGen.Make as the Start-up Project in Visual Studio and edit Program.cs to point to the correct path to ReactOS-i386.rbuild Edit SysGenEngine.cs:639 to enable/disable specific backends, The HtmlBackend in \SysGen.BuildEngine\Backends\Html\HtmlBackend.cs is a very simple illustration of how powerful this framework is.
Happy hacking!
svn path=/trunk/; revision=46862
- Add prepared file association failure text plus some translations from Wine
- Prevents completely empty message boxes
See issue #4572 for more details.
svn path=/trunk/; revision=46851
[NTOS]: Use PnpBusTypeGuidList->Lock instead of PnpBusTypeGuidListLock.
[NTOS]: Implement PipAllocateDeviceNode for setting up device nodes and linking them to a PDO. Only used for Root PnP now. Main ABI change is that allocate in ReactOS right now includes "insert". These will be seperate in the new PnP ABI.
[NTOS]: Implement IopInitializePnpServices to replace PnpInit. Mostly the same work is done, but using new PnP ABI.
[NTOS]: Implement new helper: IopCreateRegistryKeyEx.
svn path=/trunk/; revision=46845
- Use IopDeviceNodeSetFlag to set the DNF_HAS_BOOT_CONFIG flag
- Set DNF_START_FAILED and print a warning if we fail to start a device
- Clear the DNF_ASSIGNING_RESOURCES flag before failing
- TODO: Release device resources when start fails
svn path=/trunk/; revision=46844
[NTOS]: Switch to PnP Add Device routine, currently mostly a copy of the original ReactOS code. However, PnP now tries to open all the required registry keys before attempting to start the device. Failures are reported and load cancelled. More work TBD.
svn path=/trunk/; revision=46841
- Comment it out from the bootloader.
- Remove it from machine.inf.
- This "driver" introduces significant delay at every boot due to i/o space scanning every time at every boot, however there is no real benefit (it always fails). Inclusion of this driver into default boot process might be reconsidered only after it starts providing some advantages. For now please test this driver in your own working copies.
svn path=/trunk/; revision=46837
- Handle keyboard input when no windows are present
- Patch by Andrey Ivanov with changes suggested in the bug report
See issue #3560 for more details.
svn path=/trunk/; revision=46836
- Implement dispatching of enable/disable event properties for filters/pins
- Add new pins to list of instantiated pins when a new pin is created
- Remove pin on close and decrement instance count. Fixes instantiating pin for 2nd time
- Rewrite handling of pin property/method/events
- ks is now able to deliver signal statistics in XP SP3
svn path=/trunk/; revision=46824
- Add routine to query process index from performance data
- Remove process page index caching, query the index using the new routine
- Fixes "ghost processes" in the task manager, which were shown due to data access with invalid indexes
- Some changes for improved performance: use local process id's where suitable, only start checking for new processes if the item performance data and listview counts differ
See issue #4661 for more details.
svn path=/trunk/; revision=46812
MSVC backend:
- Fix compilation when using paths with spaces
- Fix spec and pspec rules to generate correctly the def and stubs file
- Group auto-generated files together
- Rename some user macros to more appropriate names
- Some cleanup
svn path=/trunk/; revision=46809
- Cache the next instance value in the the registry so we don't have to go searching for an unused instance number every time we add a new device
svn path=/trunk/; revision=46808
- Create registry values for legacy drivers
- Handle raw devices properly
- Don't set DNF_STARTED before actually calling IopStartDevice
- Don't set DNF_STARTED for legacy drivers inside IopCreateDeviceNode
- Fixes missing entries in Device Manager for raw devices
svn path=/trunk/; revision=46798
Fix msvc versions of Ke386GetGlobalDescriptorTable and Ke386SetGlobalDescriptorTable. Patch by Jose Catena.
See issue #5071 for more details.
svn path=/trunk/; revision=46797
- Return status success from unimplemented IKsClock_DispatchClose
- Implement handling of KSPROPERTY_PIN_CONSTRAINEDDATARANGES property
- Forward unhandled irps to lower device object
- Fix asserts in KspHandleDataIntersection. The function is still a grotesk hack
- Simply handling of property requests by merging filter properties into filter descriptor
- Implement KsMethodHandler, KsMethodHandlerWithAllocator, KsFastMethodHandler
- Fix a bug in KsPinGetFirstCloneStreamPointer
- Implement handling of KSPROPSETID_Topology (KspTopologyHandler)
svn path=/trunk/; revision=46794
- Don't try to query a performance index when switching from application to process tab
- Query a process index instead: "go to process" works now
svn path=/trunk/; revision=46782