reactos.git
13 years ago[KSUSER, KS, SYSAUDIO]
Johannes Anderwald [Tue, 2 Nov 2010 09:37:30 +0000 (09:37 +0000)]
[KSUSER, KS, SYSAUDIO]
- Make pin / node / allocator create requests compatible to ms by removing obsolete slash before object class
- Return correct error code in ksuser's KsCreatePin
- ReactOS KS is now able to create audio pins in Windows XP, though playback is not yet working
- All changes except ksuser change has been verified to work with VBox 3.2.10
- KS user changes not tested yet as KSStudio not working in trunk

svn path=/trunk/; revision=49428

13 years ago[CACHE]
Art Yerkes [Tue, 2 Nov 2010 02:32:39 +0000 (02:32 +0000)]
[CACHE]

The cache manager rewrite I started years ago has finally appeared in
ReactOS' trunk and although at this point it's not quite perfectly
integrated, it's enough to boot up the bootcd or livecd. To check out
the more mature original, check out arty-newcc-reactos, branch
arty-newcc on bitbucket.org . Amine Khaldi encouraged me quite a bit
to not give up on it, and was able to reach out and be an advocate
when i really wasn't able to.  Others agree that the time has come to
begin removing the old cache manager. I expect the remaining problems
in the version going to trunk will be taken care of relatively
quickly.

The motivation for this effort lies in the particularly hairy
relationship between ReactOS' cache manager and data sections. This
code completely removes page sharing between cache manager and section
and reimagines cache manager as being a facility layered on the memory
manager, not really caring about individual pages, but simply managing
data section objects where caching might occur.

It took me about 2 years to do the first pass of this rewrite and most
of this year to fix some lingering issues, properly implement demand
paging in ReactOS (code which didn't come with this patch in a
recognizable form), and finish getting the PrivateCacheMap and
SharedCacheMap relationship correct.

Currently, the new ntoskrnl/cache directory contains an own
implementation of data file sections. After things have settled down,
we can begin to deprecate and remove the parts of ReactOS' section
implementation that depend on a close relationship with cache
manager. Eventually, I think that the extra code added to
ntoskrnl/cache/section will be removed and ReactOS' own sections will
replace the use of the special MM_CACHE_SECTION_SEGMENT in the cache
path.

Note also, that this makes all cache manager (and new section parts)
use wide file offsets. If my section code were to take over other
parts of the ReactOS memory manager, they would also benefit from
these improvements.

I invite anyone who wants to to peek at this code and fix whatever
bugs can be found.

svn path=/trunk/; revision=49423

13 years ago[WIN32K]
Timo Kreuzer [Tue, 2 Nov 2010 01:17:45 +0000 (01:17 +0000)]
[WIN32K]
Disable GDI_DEBUG. It's using > 20 MB memory. Too much for some people ;-)

svn path=/trunk/; revision=49422

13 years ago[PORTCLS]
Johannes Anderwald [Mon, 1 Nov 2010 22:21:24 +0000 (22:21 +0000)]
[PORTCLS]
- Portcls does not need to set the size of the audio buffer for completed irps. This is done in a completion callback in wdmaud. Verified with WinXP portcls
[WDMAUD_KERNEL]
- Free allocated mdls in the io completion routine. Also free the associated stream header.
[KS]
- Replace all ms portcls hacks by one.
- MS Portcls is now working in ReactOS (which is nice for testing audio related bugs)

svn path=/trunk/; revision=49417

13 years ago[PSDK]
Jérôme Gardou [Mon, 1 Nov 2010 20:55:11 +0000 (20:55 +0000)]
[PSDK]
  - add TrustedDomainAuthInformationInternal and TrustedDomainFullInformationInternalFix to _TRUSTED_INFORMATION_CLASS.
Fixes build

svn path=/trunk/; revision=49415

13 years ago{ASM]
Timo Kreuzer [Mon, 1 Nov 2010 18:48:40 +0000 (18:48 +0000)]
{ASM]
- Remove superfluous .code64
- Add some macros for MSVC

svn path=/trunk/; revision=49413

13 years ago[PORTCLS]
Johannes Anderwald [Mon, 1 Nov 2010 17:33:06 +0000 (17:33 +0000)]
[PORTCLS]
- Dear lawyers / worried developers, this is the XP DDK Version.

svn path=/trunk/; revision=49410

13 years ago[ADVAPI32]
Eric Kohl [Mon, 1 Nov 2010 14:09:33 +0000 (14:09 +0000)]
[ADVAPI32]
Implement LsaAddAccountRights(), LsaQueryTrustedDomainInfoByName() and LsaRemoveAccountRights().

svn path=/trunk/; revision=49403

13 years ago[PORTCLS]
Johannes Anderwald [Mon, 1 Nov 2010 13:23:15 +0000 (13:23 +0000)]
[PORTCLS]
- Add license header

svn path=/trunk/; revision=49401

13 years ago[SETUPAPI]
Eric Kohl [Mon, 1 Nov 2010 12:39:51 +0000 (12:39 +0000)]
[SETUPAPI]
Implement CM_Get_Device_ID_List_ExW().

svn path=/trunk/; revision=49400

13 years ago[Explorer] - Revert last change.
James Tabor [Mon, 1 Nov 2010 03:21:52 +0000 (03:21 +0000)]
[Explorer] - Revert last change.

svn path=/trunk/; revision=49394

13 years ago[Explorer] - Track the only Global Hook ReactOS has.
James Tabor [Mon, 1 Nov 2010 03:10:59 +0000 (03:10 +0000)]
[Explorer] - Track the only Global Hook ReactOS has.

svn path=/trunk/; revision=49393

13 years ago[Win32k] - Track end of life thread when removing hooks.
James Tabor [Mon, 1 Nov 2010 01:56:07 +0000 (01:56 +0000)]
[Win32k] - Track end of life thread when removing hooks.

svn path=/trunk/; revision=49392

13 years ago[PORTCLS]
Johannes Anderwald [Mon, 1 Nov 2010 00:26:59 +0000 (00:26 +0000)]
[PORTCLS]
- Add MPU-401 Uart miniport driver from DDK 2003 sample

svn path=/trunk/; revision=49389

13 years ago[DDK]
Johannes Anderwald [Mon, 1 Nov 2010 00:17:07 +0000 (00:17 +0000)]
[DDK]
- Add dmusprop header
- Add IMP_PowerNotify macro to portcls.h
- Add IID_IMusicTechnology guid to portcls.h
- Add GTI_XXX macros to portcls.h
- Remove broken definitions of KSPROPSETID_Synth, KSPROPSETID_Synth_Dls. They are defined in dmusprop.h
- Add KSDATARANGE_MUSIC to ksmedia.h
- Add KSMUSIC_TECHNOLOGY, KSDATAFORMAT_SUBTYPE_MIDI_BUS, KSAUDFNAME_MIDI, KSNODETYPE_SYNTHESIZER to ksmedia.h

svn path=/trunk/; revision=49388

13 years ago[Win32k] - Lock thread when removing hooks.
James Tabor [Sun, 31 Oct 2010 23:42:37 +0000 (23:42 +0000)]
[Win32k] - Lock thread when removing hooks.

svn path=/trunk/; revision=49386

13 years ago[MMIXER]
Johannes Anderwald [Sun, 31 Oct 2010 14:34:41 +0000 (14:34 +0000)]
[MMIXER]
- Enumerate MIDI devices and provide all necessary functions to deal with them
[WDMAUD_KERNEL]
- Implement support functions which call the provided functions of mmixer library
- Fix a bug in device interface request ioctl handler
- Midi devices should now be visible, capabilities be retrieved and opened / close
- Writing data is not yet supported

svn path=/trunk/; revision=49376

13 years ago[MMEBUDDY]
Johannes Anderwald [Sun, 31 Oct 2010 13:20:11 +0000 (13:20 +0000)]
[MMEBUDDY]
- Getting device capabilities requires the unicode version of the structure
- Implement MIDM_OPEN, MIDM_CLOSE, MIDM_START, MIDM_STOP
- Implement MODM_OPEN, MODM_CLOSE
- Refactor MmeOpenWaveDevice into MmeOpenDevice add add support MIXER_DEVICE_TYPE, MIDI_IN_DEVICE_TYPE, MIDI_OUT_DEVICE_TYPE
- Refactor MmeCloseWaveDeivce into MmeCloseDevice and add support MIXER_DEVICE_TYPE, MIDI_IN_DEVICE_TYPE, MIDI_OUT_DEVICE_TYPE

svn path=/trunk/; revision=49374

13 years ago[SHELL32]
Johannes Anderwald [Sun, 31 Oct 2010 10:09:55 +0000 (10:09 +0000)]
[SHELL32]
- Enable code as we support now IOCTL_DISK_GET_LENGTH_INFO
- IOCTL_DISK_GET_LENGTH_INFO implemented in 49369

svn path=/trunk/; revision=49372

13 years ago[SERVICES]
Eric Kohl [Sun, 31 Oct 2010 10:00:21 +0000 (10:00 +0000)]
[SERVICES]
Revert r49366.

svn path=/trunk/; revision=49371

13 years ago[DISK]
Pierre Schweitzer [Sun, 31 Oct 2010 08:13:33 +0000 (08:13 +0000)]
[DISK]
Implemented support for IOCTL_DISK_GET_LENGTH_INFO

svn path=/trunk/; revision=49369

13 years ago[PORTCLS]
Johannes Anderwald [Sat, 30 Oct 2010 23:17:34 +0000 (23:17 +0000)]
[PORTCLS]
- Revert 49356
- This change breaks portcls on WinXP

svn path=/trunk/; revision=49368

13 years agoMerge ScmControlService() and ScmSendStartCommand() into ScmSendServiceCommand().
Eric Kohl [Sat, 30 Oct 2010 19:25:23 +0000 (19:25 +0000)]
Merge ScmControlService() and ScmSendStartCommand() into ScmSendServiceCommand().

svn path=/trunk/; revision=49366

13 years ago[REGEDIT]
Cameron Gutman [Sat, 30 Oct 2010 17:41:51 +0000 (17:41 +0000)]
[REGEDIT]
- Fix a bug causing registry entries with names containing a backslash to be displayed incorrectly

svn path=/trunk/; revision=49364

13 years ago[WIN32K]
Timo Kreuzer [Sat, 30 Oct 2010 16:34:52 +0000 (16:34 +0000)]
[WIN32K]
Fix a bug in InitVideo: when looping through the adapters, reinitialize the cbValue before querying the registry.
Also handle failure.

svn path=/trunk/; revision=49360

13 years ago[PORTCLS]
Johannes Anderwald [Sat, 30 Oct 2010 15:40:54 +0000 (15:40 +0000)]
[PORTCLS]
- Do not leak KSSTREAM_HEADER (48 bytes) for each IOCTL_KS_WRITE_STREAM / IOCTL_KS_READ_STREAM request
- Audio stack should now leak less memory

svn path=/trunk/; revision=49356

13 years ago[WDMAUD_KERNEL]
Johannes Anderwald [Sat, 30 Oct 2010 15:15:22 +0000 (15:15 +0000)]
[WDMAUD_KERNEL]
- Unlock locked pages before freeing the mdl
- Fixes assertion hit 'Assertion 'OldRefCount < 2500' failed at ARM³::MDLSUP line 1008'
- Fixes playback / recording of longer audio files

svn path=/trunk/; revision=49355

13 years ago[TIMEDATE]
Sylvain Petreolle [Fri, 29 Oct 2010 21:16:05 +0000 (21:16 +0000)]
[TIMEDATE]
Fix French translation.

svn path=/trunk/; revision=49343

13 years ago[CRT] Remove empty file
Gregor Schneider [Fri, 29 Oct 2010 18:18:54 +0000 (18:18 +0000)]
[CRT] Remove empty file

svn path=/trunk/; revision=49342

13 years ago- Remove obsolete code
Johannes Anderwald [Fri, 29 Oct 2010 13:47:19 +0000 (13:47 +0000)]
- Remove obsolete code
- Thanks to Amine

svn path=/trunk/; revision=49340

13 years ago[WIN32K]
Timo Kreuzer [Fri, 29 Oct 2010 09:31:54 +0000 (09:31 +0000)]
[WIN32K]
Fix possible use of uninitialized variable. Spotted by Amine.

svn path=/trunk/; revision=49338

13 years ago[PORTCLS]
Johannes Anderwald [Fri, 29 Oct 2010 01:09:13 +0000 (01:09 +0000)]
[PORTCLS]
- Fix stupid bug which lead to access an invalid buffer.
- dedicated to igorko

svn path=/trunk/; revision=49337

13 years ago- Fix mdl probe access rights
Johannes Anderwald [Fri, 29 Oct 2010 00:41:06 +0000 (00:41 +0000)]
- Fix mdl probe access rights

svn path=/trunk/; revision=49336

13 years ago- remove rtl dependency
Johannes Anderwald [Thu, 28 Oct 2010 23:33:50 +0000 (23:33 +0000)]
- remove rtl dependency
- thanks to mephisto!

svn path=/trunk/; revision=49335

13 years agoRoel Messiant:
Aleksey Bragin [Thu, 28 Oct 2010 22:08:18 +0000 (22:08 +0000)]
Roel Messiant:
- Heap corruption fixes.

svn path=/trunk/; revision=49332

13 years ago[win32k]
Giannis Adamopoulos [Thu, 28 Oct 2010 17:14:29 +0000 (17:14 +0000)]
[win32k]
message.c:
- Don't use RETURN macro
- Correctly use SEH. Use _SEH2_YIELD

svn path=/trunk/; revision=49331

13 years ago[FORMATTING]
Timo Kreuzer [Thu, 28 Oct 2010 08:15:41 +0000 (08:15 +0000)]
[FORMATTING]
- Replace big file header with small header
- apply consistent indentation of 4 spaces

svn path=/trunk/; revision=49324

13 years ago[NTOSKRNL]
Timo Kreuzer [Wed, 27 Oct 2010 22:58:23 +0000 (22:58 +0000)]
[NTOSKRNL]
- Add IoWMIDeviceObjectToProviderId and IoIs32bitProcess stubs for 64bit builds
- Comment out some deprecated amd64 code
- Add MmProtectToValue
- Fix a typo

svn path=/trunk/; revision=49322

13 years ago- remove debug prints
Johannes Anderwald [Wed, 27 Oct 2010 21:12:44 +0000 (21:12 +0000)]
- remove debug prints
- dedicated to christoph

svn path=/trunk/; revision=49316

13 years ago[CLASSPNP]
Timo Kreuzer [Wed, 27 Oct 2010 20:40:59 +0000 (20:40 +0000)]
[CLASSPNP]
Fix a typo in the spec file

svn path=/trunk/; revision=49314

13 years ago[FORMATTING]
Giannis Adamopoulos [Wed, 27 Oct 2010 20:31:17 +0000 (20:31 +0000)]
[FORMATTING]
- Fix formatting in message.c

svn path=/trunk/; revision=49313

13 years ago[basetsd.h]
Timo Kreuzer [Wed, 27 Oct 2010 20:14:15 +0000 (20:14 +0000)]
[basetsd.h]
add POINTER_SIGNED, POINTER_UNSIGNED, SPOINTER_32, UPOINTER_32

svn path=/trunk/; revision=49312

13 years ago[CLASSPNP]
Timo Kreuzer [Wed, 27 Oct 2010 20:13:06 +0000 (20:13 +0000)]
[CLASSPNP]
Convert to spec

svn path=/trunk/; revision=49311

13 years ago[WIN32K]
Timo Kreuzer [Wed, 27 Oct 2010 17:16:11 +0000 (17:16 +0000)]
[WIN32K]
Improve the code to enumerate monitors.
- Don't use custom MIN / MAX / ABS macros
- Calculate distance by r^2 = x^2 + y^2
- Use RECTL_bIntersectRect instead of code duplication
- Fix possible NULL pointer dereference
- pass bottom-right exclusive rect to IntGetMonitorsFromRect from NtUserMonitorFromPoint
- Don't handle MONITOR_DEFAULTTOPRIMARY and MONITOR_DEFAULTTONEAREST twice
- Use unsigned variables for unsigned values
- Don't check the result of a UINT returning function for < 0
- Improve readability

svn path=/trunk/; revision=49310

13 years ago[WIN32K]
Timo Kreuzer [Wed, 27 Oct 2010 17:08:40 +0000 (17:08 +0000)]
[WIN32K]
Fix possible NULL pointer dereferences. Spotted by Amine Khaldi.

svn path=/trunk/; revision=49309

13 years ago[FORMATTING]
Timo Kreuzer [Wed, 27 Oct 2010 15:59:48 +0000 (15:59 +0000)]
[FORMATTING]
- Apply consistent indentation of 4 spaces and ansi style formatting.
- Remove the long GPL header

svn path=/trunk/; revision=49308

13 years ago[WIN32K]
Timo Kreuzer [Wed, 27 Oct 2010 12:51:32 +0000 (12:51 +0000)]
[WIN32K]
Fix possible NULL pointer dereference. Spotted by Amine Khaldi.

svn path=/trunk/; revision=49303

13 years ago[NTOS/MM]
Aleksey Bragin [Wed, 27 Oct 2010 09:58:18 +0000 (09:58 +0000)]
[NTOS/MM]
- Don't access pfn database directly, there is a function for this. Thanks sir_richard.

svn path=/trunk/; revision=49302

13 years ago[Win32k|User32]
James Tabor [Wed, 27 Oct 2010 01:56:56 +0000 (01:56 +0000)]
[Win32k|User32]
- Fix for DosBOX. See bug 5670 for more details. Added more data copies in user32 hook.c.

svn path=/trunk/; revision=49301

13 years ago[User32] - Fix an over site and copy the return data back to the kernel.
James Tabor [Wed, 27 Oct 2010 00:03:41 +0000 (00:03 +0000)]
[User32] - Fix an over site and copy the return data back to the kernel.

svn path=/trunk/; revision=49300

13 years ago[NTOS/MM]
Aleksey Bragin [Tue, 26 Oct 2010 21:34:52 +0000 (21:34 +0000)]
[NTOS/MM]
- Don't lie about page protection in MiQueryAddressState. Fixes PDFCreator-alike bugs.
See issue #5627 for more details.

svn path=/trunk/; revision=49296

13 years ago[PORTCLS]
Johannes Anderwald [Tue, 26 Oct 2010 15:19:14 +0000 (15:19 +0000)]
[PORTCLS]
- Disable driver specific filter / pin / node property handlers until bug leading to crashes has been found

svn path=/trunk/; revision=49280

13 years ago[Win32k|User32]
James Tabor [Tue, 26 Oct 2010 06:24:50 +0000 (06:24 +0000)]
[Win32k|User32]
- Add fix for KsStudio for Olaf Siejka and debug prints for WH_KEYBOARD_LL. See bug 5670 for more details.

svn path=/trunk/; revision=49278

13 years ago[NTOS/MM]
Aleksey Bragin [Mon, 25 Oct 2010 20:50:45 +0000 (20:50 +0000)]
[NTOS/MM]
- Handle various special cases in NtQueryVirtualMemory (e.g. querying illegal virtual addresses, shared memory area, etc). Example of an app doing this - OllyDbg.

svn path=/trunk/; revision=49277

13 years agoUpdate rapps database.
Daniel Reimer [Mon, 25 Oct 2010 20:08:50 +0000 (20:08 +0000)]
Update rapps database.

svn path=/trunk/; revision=49276

13 years ago[YAROTOWS] Reintegrate the branch. For a brighter future.
Timo Kreuzer [Mon, 25 Oct 2010 17:36:27 +0000 (17:36 +0000)]
[YAROTOWS] Reintegrate the branch. For a brighter future.

Main features:
- Implement LDEVOBJ api. Responsible for loading dlls (display drivers, font drivers, keyboard layout, etc), replacing code in different locations.
- Implement PDEVOBJ api. A PDEVOBJ represents a physical device and is the core component for handling multiple display devices.
- Rewrite device locking. The new method was neccessary to allow dynamic mode switching.
- Implement support for enumerating display devices and settings.
- Implement dynamic mode switching.
- Implement a number of Eng mapping functions.
- Rewrite Eng level surface handling for cleaner code and better compatability.
- Rewrite parts of the DIB handling code.
- Rewrite DC creation and deletion. Deletion and cleanup is now completely callback based. Now we don't leak the DC objects when terminating a process, like we did before.
- Improve the XLATE and BRUSH code, removing several old hacks.
- Improve icon code.

Thanks to Jerome Gardou, Kamil Hornicek and everyone helping.

svn path=/trunk/; revision=49275

13 years agoMerge trunk head (r49270) backups/reactos-yarotows@57446
Timo Kreuzer [Mon, 25 Oct 2010 15:26:06 +0000 (15:26 +0000)]
Merge trunk head (r49270)

svn path=/branches/reactos-yarotows/; revision=49272

13 years ago[WIN32K]
Timo Kreuzer [Mon, 25 Oct 2010 15:05:33 +0000 (15:05 +0000)]
[WIN32K]
Silence and improve a DPRINT

svn path=/branches/reactos-yarotows/; revision=49271

13 years ago[Win32k]
James Tabor [Mon, 25 Oct 2010 02:51:09 +0000 (02:51 +0000)]
[Win32k]
- Do not override WH_JOURNALPLAYBACK results if zero.

svn path=/trunk/; revision=49270

13 years ago[Win32k]
James Tabor [Mon, 25 Oct 2010 01:37:14 +0000 (01:37 +0000)]
[Win32k]
- Fix typos found by Mephisto on IRC, also add some debug prints in SetWindowsHookEx to see what hooks are installed.

svn path=/trunk/; revision=49269

13 years ago[User32]
James Tabor [Mon, 25 Oct 2010 00:15:35 +0000 (00:15 +0000)]
[User32]
- One more leftover to add. Now we test for both Local and Global hooks in user32. This will force any message sent to win32k if there are any Global hookers so we loose in performance. We need to rethink our usage of these Global hookers in our code.

svn path=/trunk/; revision=49268

13 years ago[WIN32K]
Kamil Hornicek [Sun, 24 Oct 2010 23:40:23 +0000 (23:40 +0000)]
[WIN32K]
Simplify the RLE hack and avoid code duplication.
Bail out of UserEnumDisplaySettings early in case invalid ModeNum was requested.
Use default BPP value in UserChangeDisplaySettings if DM_BITSPERPEL is not set. Partially fixes "fullscreen issue" as described on the yarotows wiki page.
Remove some unused variables + misc cleanup.

svn path=/branches/reactos-yarotows/; revision=49267

13 years ago[WIN32K]
Timo Kreuzer [Sun, 24 Oct 2010 23:32:18 +0000 (23:32 +0000)]
[WIN32K]
- Rewrite InitVideo
- Move registry functions to the appropriate file
- Silence some DPRINTs

svn path=/branches/reactos-yarotows/; revision=49266

13 years ago[WIN32K]
Kamil Hornicek [Sun, 24 Oct 2010 22:52:50 +0000 (22:52 +0000)]
[WIN32K]
Set proper flags and masks in BuildDIBPalette. Set PAL_BGR for 24/32 BPP in AllocPalette. Rename Mode to Flags to better reflect its usage. Fixes "red icons" and dibtest.

svn path=/branches/reactos-yarotows/; revision=49265

13 years ago[WIN32K]
Kamil Hornicek [Sun, 24 Oct 2010 22:51:51 +0000 (22:51 +0000)]
[WIN32K]
Follow-up to r48681. Fixes text on disabled controls.

svn path=/branches/reactos-yarotows/; revision=49264

13 years ago[N[NTOS/MM]
Aleksey Bragin [Sun, 24 Oct 2010 20:02:04 +0000 (20:02 +0000)]
[N[NTOS/MM]
- Initialize Found to FALSE in NtQueryVirtualMemory. I wonder how GCC missed uninitialized var usage?
- Implement case when NtQueryVirtualMemory is called with non-existing virtual address.
See issue #3755 for more details.

svn path=/trunk/; revision=49261

13 years ago[SERVICES]
Eric Kohl [Sun, 24 Oct 2010 13:48:11 +0000 (13:48 +0000)]
[SERVICES]
RControlService: Check the current state before sending a control request.

svn path=/trunk/; revision=49259

13 years ago[WIN32K]
Timo Kreuzer [Sun, 24 Oct 2010 11:57:02 +0000 (11:57 +0000)]
[WIN32K]
Fix possible NULL pointer free. Fixes solitaire.

svn path=/branches/reactos-yarotows/; revision=49257

13 years ago[HAL]
Cameron Gutman [Sun, 24 Oct 2010 10:48:10 +0000 (10:48 +0000)]
[HAL]
- Fix a broken loop that resulted in us registering the resources of multiple COM ports as our KD port
- Fixes bug #5530

svn path=/trunk/; revision=49256

13 years ago[HAL]
Cameron Gutman [Sun, 24 Oct 2010 10:28:15 +0000 (10:28 +0000)]
[HAL]
- HalpEnableInterruptHandler: Set the IDT_LATCHED flag if the caller requested a latched interrupt

svn path=/trunk/; revision=49255

13 years ago[SERVICES]
Eric Kohl [Sun, 24 Oct 2010 09:21:37 +0000 (09:21 +0000)]
[SERVICES]
- Use new handle check functions in RCloseServiceHandle().
- RControlService: Check if a control request is acceptable for a user mode service before sending it to the service.

svn path=/trunk/; revision=49253

13 years ago[NTOSKRNL]
Cameron Gutman [Sun, 24 Oct 2010 09:05:17 +0000 (09:05 +0000)]
[NTOSKRNL]
- Fix a critical bug in the conflict detection code
- Don't unconditionally skip conflict detection for shared resources, instead it should be done on a descriptor-by-descriptor basis (if both descriptors are shared)
- This check wasn't removed when I initially wrote this code and added the proper check below

svn path=/trunk/; revision=49252

13 years ago[PNPMGR]
Cameron Gutman [Sun, 24 Oct 2010 06:16:35 +0000 (06:16 +0000)]
[PNPMGR]
- Check that we got a valid vector back from HAL when translating an interrupt resource
- Add some debugging messages for failure paths in device resource handling code

svn path=/trunk/; revision=49251

13 years ago[Win32k]
James Tabor [Sun, 24 Oct 2010 04:36:45 +0000 (04:36 +0000)]
[Win32k]
- Fix an exception when set condition * first always is used then moving the mouse. There seems to be an initialization issue (The Init Bug) and not setting a desktop.

svn path=/trunk/; revision=49250

13 years ago[NTOSKRNL]
Cameron Gutman [Sun, 24 Oct 2010 02:51:48 +0000 (02:51 +0000)]
[NTOSKRNL]
- Partially implement IoAssignResources so that it creates a non-conflicting resource list from the requirements but it doesn't claim the resources for the device in the registry
- Partially implement IoReportResourceUsage so that it checks the resource list for conflicts but doesn't claim the resources in the registry
- Please test this revision with a variety of hardware and drivers because it activates several code paths in the PnP manager
- If this causes problems, look for "Denying an attempt to claim resources currently in use by another device!" in the debug log and report the bug to me

svn path=/trunk/; revision=49249

13 years ago[NTOSKRNL]
Cameron Gutman [Sun, 24 Oct 2010 02:38:14 +0000 (02:38 +0000)]
[NTOSKRNL]
- Rewrite the resource map code to fix a regression, several failures cases, and a few memory leaks
- Remove an incorrect definition of IopDetectResourceConflict in pnpreport.c (no idea how this didn't trigger an onslaught of warnings)

svn path=/trunk/; revision=49248

13 years agoFix a comment
Timo Kreuzer [Sat, 23 Oct 2010 22:34:47 +0000 (22:34 +0000)]
Fix a comment

svn path=/trunk/; revision=49247

13 years ago[WIN32K]
Timo Kreuzer [Sat, 23 Oct 2010 21:59:21 +0000 (21:59 +0000)]
[WIN32K]
- Remove a wrong ASSERT
- Improve EngLoadImageEx to correctly handle the path and optional dll extension.
- Get rid of EngLoadDriver

svn path=/branches/reactos-yarotows/; revision=49245

13 years ago[PORTCLS]
Johannes Anderwald [Sat, 23 Oct 2010 20:20:18 +0000 (20:20 +0000)]
[PORTCLS]
- Fix multiple bugs in round buffer implementation
- Should result in less audio glitches, especially when playing audio files with low sample rates. Please report any regressions!

svn path=/trunk/; revision=49244

13 years ago[PORTCLS]
Johannes Anderwald [Sat, 23 Oct 2010 18:51:17 +0000 (18:51 +0000)]
[PORTCLS]
- Rewrite the topology filter / pin / node property handling
- Store property sets of filter / pins / nodes in a common property set array
- Write a common dispatch function, which serves as a trampoline for filter / pin / node property requests
- Private property handlers of the drivers are now accessible

svn path=/trunk/; revision=49243

13 years ago[PORTCLS]
Johannes Anderwald [Sat, 23 Oct 2010 18:42:59 +0000 (18:42 +0000)]
[PORTCLS]
- Remove silence buffer hack
- Stub DRM Property Handler
- Before stopping the audio pin, fill the dma buffer with silence samples
- create a subdevice descriptor for instantiated pins too

svn path=/trunk/; revision=49242

13 years ago[FORMATTING]
Timo Kreuzer [Sat, 23 Oct 2010 17:05:34 +0000 (17:05 +0000)]
[FORMATTING]
Fix indentation, no code change.

svn path=/branches/reactos-yarotows/; revision=49241

13 years agosync with trunk (r49238)
Timo Kreuzer [Sat, 23 Oct 2010 16:42:45 +0000 (16:42 +0000)]
sync with trunk (r49238)

svn path=/branches/reactos-yarotows/; revision=49240

13 years ago- Fix definition of KSPROPSETID_DrmAudioStream, KSPROPERTY_DRMAUDIOSTREAM
Johannes Anderwald [Sat, 23 Oct 2010 14:42:22 +0000 (14:42 +0000)]
- Fix definition of KSPROPSETID_DrmAudioStream, KSPROPERTY_DRMAUDIOSTREAM

svn path=/trunk/; revision=49239

13 years ago[PORTCLS]
Johannes Anderwald [Sat, 23 Oct 2010 12:10:56 +0000 (12:10 +0000)]
[PORTCLS]
- Fix check if the pin can be instantiated another time
- Remove hack to close old
- Add function FreePin to remove its old reference
- Fix memory leaks / reference leaks in WavePci pin implementation
- Fix memory / reference leaks in WavePci Close implementation

svn path=/trunk/; revision=49238

13 years ago[KS]
Johannes Anderwald [Sat, 23 Oct 2010 12:00:11 +0000 (12:00 +0000)]
[KS]
- Fix property set support handler for topology nodes
- Check if the driver supports a basic support handler. In that case return the basic support handler

svn path=/trunk/; revision=49237

13 years ago[Win32k|User32]
James Tabor [Sat, 23 Oct 2010 05:36:12 +0000 (05:36 +0000)]
[Win32k|User32]
- Rewrite the Event and Hook procedures. See bug 5670 for more details.

svn path=/trunk/; revision=49231

13 years ago[MSI]
Aleksey Bragin [Fri, 22 Oct 2010 16:22:21 +0000 (16:22 +0000)]
[MSI]
- Fix freed memory access and fix freeing of invalid pointer. (from http://www.winehq.org/pipermail/wine-patches/2010-October/094849.html )
See issue #3755 for more details.

svn path=/trunk/; revision=49229

13 years ago[MSI]
Aleksey Bragin [Fri, 22 Oct 2010 13:18:11 +0000 (13:18 +0000)]
[MSI]
- Sync to Wine-1.3.5.

svn path=/trunk/; revision=49219

13 years ago[ADVAPI32]
Aleksey Bragin [Thu, 21 Oct 2010 20:30:37 +0000 (20:30 +0000)]
[ADVAPI32]
- Roel Messiant: Fix short-circuit evaluation.
See issue #5677 for more details.

svn path=/trunk/; revision=49216

13 years ago[SERVICES]
Eric Kohl [Wed, 20 Oct 2010 17:28:10 +0000 (17:28 +0000)]
[SERVICES]
- Remove the reference counter from the common handle type as a handle is never shared or duplicated.
- Remove the access right from the service handle as it is not used.
- Dereference service manager handles and service handles in two separate functions that SEH-protect the initial access to the handle and signature check. This will protect SCM from bogus handles.

svn path=/trunk/; revision=49214

13 years ago[NTOSKRNL]
Pierre Schweitzer [Tue, 19 Oct 2010 20:34:48 +0000 (20:34 +0000)]
[NTOSKRNL]
Implemented FstubAdjustPartitionCount(), FstubConvertExtendedToLayout(), FstubCopyEntryEFI(), FstubCreateDiskMBR(), FstubCreateDiskEFI(), FstubCreateDiskRaw(), FstubDbgPrintSetPartitionEx(), FstubReadHeaderEFI(), FstubReadPartitionTableEFI(), FstubSetPartitionInformationEFI(), FstubVerifyPartitionTableEFI(), FstubWriteBootSectorEFI(), FstubWriteEntryEFI(), FstubWriteHeaderEFI(), FstubWritePartitionTableEFI(), FstubWritePartitionTableMBR(), FstubWriteSector()

Implemented IoCreateDisk(), IoGetBootDiskInformation(), IoReadDiskSignature(), IoSetPartitionInformationEx(), IoVerifyPartitionTable(), IoWritePartitionTableEx()

To sum up, this commit finishes FSTUB API implementation in the ReactOS kernel. This means one important thing: now ReactOS kernel knows about a bit about EFI and about GPT. No need to say that it's the first step into EFI support. But a lot more work is needed. Especially since the kernel is the only real entity in ReactOS to handle GPT. All the rest of the OS doesn't know anything about GPT.

A small note about FstubVerifyPartitionTableEFI(). This function is supposed to check whether a disk formated with GPT is valid, and if it's not, to fix it. First step is implemented. Second step isn't yet supported.

A general note about all that stuff: on GPT, backup table isn't properly handled for the moment, as ReactOS is experiencing disk geometry issues. That means it's not having the proper disk sectors count and then, can't find the backup table (which is located on last disk sector).

References:
http://www.intel.com/technology/efi/
http://developer.apple.com/library/mac/#technotes/tn2006/tn2166.html
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.35.y.git;a=blob;f=fs/partitions/efi.h;hb=HEAD
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.35.y.git;a=blob;f=fs/partitions/efi.c;hb=HEAD

svn path=/trunk/; revision=49212

13 years ago[NTOS]: Go back to using RosMm for the NLS section since supposedly this causes issue...
Sir Richard [Tue, 19 Oct 2010 20:23:37 +0000 (20:23 +0000)]
[NTOS]: Go back to using RosMm for the NLS section since supposedly this causes issues on some systems. This is the only actual change in r206/208/209, so if Caemyr's data is correct, this fill fix it.

svn path=/trunk/; revision=49211

13 years ago[DISK]
Pierre Schweitzer [Tue, 19 Oct 2010 19:27:28 +0000 (19:27 +0000)]
[DISK]
Hackplemented support for IOCTL_DISK_GET_PARTITION_INFO_EX. It will work fine for MBR partitions but will fake returns for GPT partitions.

svn path=/trunk/; revision=49210

13 years ago[NTOS]: Fix multiple math/logic bugs in the PrototypePTE paths. Caught while trying...
Sir Richard [Tue, 19 Oct 2010 18:57:30 +0000 (18:57 +0000)]
[NTOS]: Fix multiple math/logic bugs in the PrototypePTE paths. Caught while trying to switch the Win32k GDI Handle Table to ARM3 sections.

svn path=/trunk/; revision=49209

13 years ago[NTOS]: C Pointer Math will bite even the most experienced programmer in the ass...
Sir Richard [Tue, 19 Oct 2010 17:39:22 +0000 (17:39 +0000)]
[NTOS]: C Pointer Math will bite even the most experienced programmer in the ass. Fix wrong calculation which led to ASSERTs and memory corruption (since the last revision).

svn path=/trunk/; revision=49208

13 years ago[NTOS]: Add support for unmapping ARM3 sections, destroying segments and control...
Sir Richard [Tue, 19 Oct 2010 17:07:11 +0000 (17:07 +0000)]
[NTOS]: Add support for unmapping ARM3 sections, destroying segments and control areas, and clearing out subsection PTEs.
[NTOS]: Add support to MiDeletePte/MiDeleteVirtualAddresses to handle Section VADs.
[NTOS]: Add support to MiDeletePte to handle valid, prototype PTEs.
[NTOS]: Add MEM_TOP_DOWN support to ARM3 section code.
[NTOS]: Add support for unmapping currently mapped ARM3 section views at process termination.
[NTOS]: Use the new ARM3 section code for mapping the NLS section in the system (tests the system-view mapping code) and in each new process (tests the data-mapping code). Section is correctly unmapped at process termination time!

svn path=/trunk/; revision=49206

13 years ago[NTOS]: Use allocation attribute 0x1 instead of 0xC0000000 to let RosMm know this...
Sir Richard [Tue, 19 Oct 2010 17:01:28 +0000 (17:01 +0000)]
[NTOS]: Use allocation attribute 0x1 instead of 0xC0000000 to let RosMm know this is an ARM3 section. 0xC0000000 is actually a valid combination of SEC_ flags, 0x1 is illegal and thus recognized.

svn path=/trunk/; revision=49205

13 years ago[NTOS]: Implement the MAREA<->VAD hack for section VADs as well.
Sir Richard [Tue, 19 Oct 2010 17:00:12 +0000 (17:00 +0000)]
[NTOS]: Implement the MAREA<->VAD hack for section VADs as well.

svn path=/trunk/; revision=49204

13 years ago[NTOS]: Get rid of MC_NPPOOL and MC_PPOOL memory consumers since those are not manage...
Sir Richard [Tue, 19 Oct 2010 16:58:27 +0000 (16:58 +0000)]
[NTOS]: Get rid of MC_NPPOOL and MC_PPOOL memory consumers since those are not managed by RosMm anymore. Use MC_SYSTEM for the page table stuff that RosMm still handles, and keep MC_USER and MC_CACHE for the current Section/VirtualMemory/Cache RosMm code.

svn path=/trunk/; revision=49203