reactos.git
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

13 years ago[NDK]: Add MMVAD_SHORT.
Sir Richard [Tue, 19 Oct 2010 16:57:20 +0000 (16:57 +0000)]
[NDK]: Add MMVAD_SHORT.

svn path=/trunk/; revision=49202

13 years ago[NTOS]: Implement MiDecrementReferenceCount and rewrite large parts of the ProbeAndLo...
Sir Richard [Tue, 19 Oct 2010 04:30:48 +0000 (04:30 +0000)]
[NTOS]: Implement MiDecrementReferenceCount and rewrite large parts of the ProbeAndLock/Unlock MDL API to fully use ARM3 APIs, dropping MmReference/DereferencePage behind.
[NTOS]: Fix many MDL API bugs: correctly check for I/O pages, use LIST_HEAD instead of -1, track system-wide locked pages, use the process working set lock instead of the address space lock, add check for cross-ring MDL mappings, and make some small optimizations.
[NTOS]: Make some more fixes in MmAllocatePagesForMdl, MmFreeMdlPages to make the PFN entries more "correct".
[NTOS]: Had a little breakthrough: instead of complicating our lives and hiding certain ReactOS-Mm fields inside legitimate ARM3/MMPFN fields, differentiate between "legacy" (RosMm) and ARM3 pages. The legacy allocator (MmAllocPage/MmRequestPageMemoryConsumer) will use the non-paged pool to allocate a MMROSPFN add-on (8 bytes), in which the RMAP list head and SWAPENTRY are stored. When a legacy "free" is done, this data is deleted. Additionally, we can now tell apart between ARM3 and RosMm pages, so appropriate ASSERTs have been added to make sure the two never cross paths (which should safely let us use all the PFN fields now and implement working sets, etc...). I don't know why I didn't think of this sooner.

svn path=/trunk/; revision=49201

13 years ago[NTOS]: Clean up Mm initialization, there is now no-more RosMM stuff done in Phase...
Sir Richard [Mon, 18 Oct 2010 23:07:09 +0000 (23:07 +0000)]
[NTOS]: Clean up Mm initialization, there is now no-more RosMM stuff done in Phase 0 of MmInit, only ARM3 runs. The kernel address space and memory areas are only initialized in Phase 1, because that's where sections are started up, and they're the only thing other than VM which still use memory-areas.

svn path=/trunk/; revision=49200

13 years ago[KS]
Johannes Anderwald [Mon, 18 Oct 2010 22:21:00 +0000 (22:21 +0000)]
[KS]
- Fix KSPROPERTY_PIN_CATEGORY handler when no category is provided
- Fix KSPROPERTY_PIN_NAME handler when there is no name provided. Use fallback pin category. If there is no category provided, fail with correct error code
- Fix KSPROPERTY_TOPOLOGY_NAME handler by checking if there is a node name provided. If not use node type as fallback.
- Return correct error code when property request id is out of bounds

svn path=/trunk/; revision=49199

13 years ago[PORTCLS]
Johannes Anderwald [Mon, 18 Oct 2010 18:59:17 +0000 (18:59 +0000)]
[PORTCLS]
- Store Miniport object in the device descriptor
- Fixes assert in NVidia NForce Audio Driver

svn path=/trunk/; revision=49198

13 years ago[NTOS]: Remove the "35314 sginsberg /* REACTOS Mm Hack of Doom */"....
Sir Richard [Mon, 18 Oct 2010 14:34:35 +0000 (14:34 +0000)]
[NTOS]: Remove the "35314  sginsberg             /* REACTOS Mm Hack of Doom */". Apocalypse averted?

svn path=/trunk/; revision=49196

13 years ago[NTOS]: Remove the Bavarian hack, I no longer think it is needed.
Sir Richard [Mon, 18 Oct 2010 14:29:05 +0000 (14:29 +0000)]
[NTOS]: Remove the Bavarian hack, I no longer think it is needed.

svn path=/trunk/; revision=49195

13 years ago[NTOS]: Store the protection mask in the Fake VADs as well, we can read/convert this...
Sir Richard [Mon, 18 Oct 2010 14:25:33 +0000 (14:25 +0000)]
[NTOS]: Store the protection mask in the Fake VADs as well, we can read/convert this from the MAREA protection value.
[NTOS]: Reimplement NtQueryVirtualMemory to use VAD information instead. Even though Alloc/Free are still MAREA-based, the fake VADs we build ought to be enough to make the query API work for certain limited scenarios. Only some paths are implemented and it's lacking SEH, but it's good enough for the install/boot requirements. If there are any regressions, please file bugs.

svn path=/trunk/; revision=49194

13 years ago[NTOS]: Complete the VAD-to-MAREA Synchronization hack by removing fake MAREAs that...
Sir Richard [Mon, 18 Oct 2010 13:10:54 +0000 (13:10 +0000)]
[NTOS]: Complete the VAD-to-MAREA Synchronization hack by removing fake MAREAs that were added when inserting real VADs. To do this, we have to track the fake MAREA associated with a VAD, so we overload the FirstProtoTypePte field in the VAD, if this is NOT a section VAD (which we don't use yet). We'll figure something out for section VADs later.
[NTOS]: Now that VAD and MAREA views are synchronized, remove the VAD limit and let VADs be created at any address. Also do not create an arbitrary 16MB VAD memory area anymore. This basically now allows for as many PEB/TEBs as can fit in the address space, fixing the recent known regression that limited the number of threads a process could have.

svn path=/trunk/; revision=49193

13 years ago[WDMAUD.DRV]
Johannes Anderwald [Sun, 17 Oct 2010 22:38:34 +0000 (22:38 +0000)]
[WDMAUD.DRV]
- Kernel streaming pins need to transit states from Run -> Pause -> Acquire -> Stop.
- Fixes SB Live playback hang on last tone when stopping playback

svn path=/trunk/; revision=49191

13 years ago[MMIXER]
Johannes Anderwald [Sun, 17 Oct 2010 21:15:21 +0000 (21:15 +0000)]
[MMIXER]
- Apply a hack to filter out pins, which are not part of filter node processing path
- The hack filters out all pins which have a physical connection. Ideally the code should check if the pin is part of a different rendering path and in that case remove the pin.
- Revert 49167

svn path=/trunk/; revision=49189

13 years ago[NTOS]: Fix brainfart (an interesting bug we would've never hit, but a bug nevertheless).
Sir Richard [Sun, 17 Oct 2010 20:11:04 +0000 (20:11 +0000)]
[NTOS]: Fix brainfart (an interesting bug we would've never hit, but a bug nevertheless).

svn path=/trunk/; revision=49188

13 years ago[NTOS]: Use MI_SET_PFN_DELETED where we missed it.
Sir Richard [Sun, 17 Oct 2010 20:02:17 +0000 (20:02 +0000)]
[NTOS]: Use MI_SET_PFN_DELETED where we missed it.
[NTOS]: Implement support for deleting user-mode pageable VM addresses. Now when cleaning up the process address space, MiDeleteVirtualAddresses is called for the VADs, so this will now actually free the PEB/TEB pages that were previously getting leaked for each thread/process (a known regression I introduced when moving to VADs for PEB/TEB).

svn path=/trunk/; revision=49187

13 years ago[NTOS]: Handle faults on non-demand-zero PTEs (and/or demand-zero PTEs that are not...
Sir Richard [Sun, 17 Oct 2010 19:56:04 +0000 (19:56 +0000)]
[NTOS]: Handle faults on non-demand-zero PTEs (and/or demand-zero PTEs that are not READWRITE (such as EXECUTE_READWRITE)).

svn path=/trunk/; revision=49186

13 years agoSync the out of sync winemine to Wine 1.3.5 and fork it, because of the modified...
Daniel Reimer [Sun, 17 Oct 2010 17:04:39 +0000 (17:04 +0000)]
Sync the out of sync winemine to Wine 1.3.5 and fork it, because of the modified look, improved resources and different code structure.
Additionally call it winmine, as it is in windows, too.

svn path=/trunk/; revision=49185

13 years ago[ADVAPI32]
Eric Kohl [Sun, 17 Oct 2010 15:01:46 +0000 (15:01 +0000)]
[ADVAPI32]
Move the Encrypted File System (EFS) functions into their own file.

svn path=/trunk/; revision=49184

13 years ago[PSDK]
Eric Kohl [Sun, 17 Oct 2010 14:54:59 +0000 (14:54 +0000)]
[PSDK]
Add DecryptFileA/W prototype.

svn path=/trunk/; revision=49183

13 years ago[APITESTS]
Sylvain Petreolle [Sun, 17 Oct 2010 14:50:02 +0000 (14:50 +0000)]
[APITESTS]
Fix (R)TEST macros in gdi32_apitest,
ensures correct display and no crash report in testman.

svn path=/trunk/; revision=49182

13 years agoKatayama Hirofumi:
Sylvain Petreolle [Sun, 17 Oct 2010 12:47:02 +0000 (12:47 +0000)]
Katayama Hirofumi:
Add / update Japanese translations.
Fix typos in calc en-US resource.
Bug #5673,5674,5675,5676.

svn path=/trunk/; revision=49181

13 years agoPatch by Roel Messiant :
Sylvain Petreolle [Sun, 17 Oct 2010 11:12:54 +0000 (11:12 +0000)]
Patch by Roel Messiant :
Initialise PPB to zero.

The change from NtAllocateVirtualMemory to RtlAllocateHeap causes the memory to
be not automatically initialised to zero anymore.
Not every field of the PPB (for which the memory is allocated) gets explicitly
initialised, meaning this results in them having bogus values.

One of the now uninitialised fields is DebugFlags, which results in
DbgBreakPoint being called in NtProcessStartup.  Simply ensuring the memory is
zeroed makes it all better again.

svn path=/trunk/; revision=49180

13 years agoSync reg xcopy winhlp32 wordpad and msiexec with Wine 1.3.5
Daniel Reimer [Sun, 17 Oct 2010 00:26:32 +0000 (00:26 +0000)]
Sync reg xcopy winhlp32 wordpad and msiexec with Wine 1.3.5

svn path=/trunk/; revision=49179

13 years ago[CSRSS]: Should use MEM_COMMIT | MEM_RESERVE, not just MEM_COMMIT when requesting...
Sir Richard [Sat, 16 Oct 2010 21:04:50 +0000 (21:04 +0000)]
[CSRSS]: Should use MEM_COMMIT | MEM_RESERVE, not just MEM_COMMIT when requesting a range of adress space that wasn't already reserved. This works in ReactOS because, well, no reason to explain why, but it wouldn't work on Windows or with a VAD-based kernel.

svn path=/trunk/; revision=49178

13 years ago[NTOS]: Add MmProtectToValue array to convert MM/PTE protection values to Win32 prote...
Sir Richard [Sat, 16 Oct 2010 21:02:48 +0000 (21:02 +0000)]
[NTOS]: Add MmProtectToValue array to convert MM/PTE protection values to Win32 protection flags.

svn path=/trunk/; revision=49177

13 years ago[PSDK]
Aleksey Bragin [Sat, 16 Oct 2010 19:46:03 +0000 (19:46 +0000)]
[PSDK]
- Add NOMIRRORBITMAP definition.

svn path=/trunk/; revision=49176

13 years ago[PSDK]
Aleksey Bragin [Sat, 16 Oct 2010 17:23:40 +0000 (17:23 +0000)]
[PSDK]
- Add ICONINFOEX* definitions and GetIconInfoEx* declarations from Wine.

svn path=/trunk/; revision=49175

13 years ago[ADVAPI32]
Eric Kohl [Sat, 16 Oct 2010 16:26:52 +0000 (16:26 +0000)]
[ADVAPI32]
Implement LsaAddPrivilegesToAccount(), LsaCreateTrustedDomain(), LsaDeleteTrustedDomain() and LsaOpenTrustedDomainByName().

svn path=/trunk/; revision=49174

13 years ago!!! The previous commit message had a typo, these are the Windows XP DDK Samples...
Sir Richard [Sat, 16 Oct 2010 15:48:42 +0000 (15:48 +0000)]
!!! The previous commit message had a typo, these are the Windows XP DDK Samples, not the Server 2003 DDK samples !!!
[CLASSPNP/CDROM_NEW]: Remove useless files.

svn path=/trunk/; revision=49172

13 years ago[CLASSPNP]: Add Windows Server 2003 DDK ClassPNP sample, under the license and terms...
Sir Richard [Sat, 16 Oct 2010 15:24:08 +0000 (15:24 +0000)]
[CLASSPNP]: Add Windows Server 2003 DDK ClassPNP sample, under the license and terms of the Windows Server 2003 DDK.
[CDROM]: Add Windows Server 2003 DDK Cdrom Sample, under the license and terms of the Windows Server 2003 DDK.
They both build and run fine, but PCIIDE(x) must be completed/enabled, and atapi must be rewritten to be WDM-compliant.

svn path=/trunk/; revision=49171

13 years ago[SCSIPORT]
Cameron Gutman [Sat, 16 Oct 2010 15:15:51 +0000 (15:15 +0000)]
[SCSIPORT]
- Fix a couple of typos in the DMA code from my last commit

svn path=/trunk/; revision=49170

13 years ago[RTL]: Fix a bug introduced Mon Dec 6 00:25:14 1999 UTC (10 years, 10 months ago...
Sir Richard [Sat, 16 Oct 2010 14:20:30 +0000 (14:20 +0000)]
[RTL]: Fix a bug introduced Mon Dec 6 00:25:14 1999 UTC (10 years, 10 months ago) in revision 828. NtFreeVirtualMemory takes a pointer to the address to free, not the address instead. For the last 11 years, freeing the process parameter block resulted in freeing whatever the first value in the structure is, which is MaximumLength and initialized to 0x1000. ReactOS would then free whatever random address was in that area. In real Windows, it is illegal to free an allocation in the middle of the base address, and this call failed with the new VAD code. ReactOS either leaked the memory or freed random data, who knows.
[RTL]: Make the PPB live in the Heap instead of having its own virtual allocation, fixing the issue above. Stop rounding it to a PAGE_SIZE, and just use the space required.

svn path=/trunk/; revision=49169

13 years ago[MMIXER]
Kamil Hornicek [Sat, 16 Oct 2010 13:55:09 +0000 (13:55 +0000)]
[MMIXER]
Amendment to rev. 49167 requested by Caemyr.

svn path=/trunk/; revision=49168

13 years ago[MMIXER]
Johannes Anderwald [Sat, 16 Oct 2010 12:39:49 +0000 (12:39 +0000)]
[MMIXER]
- Disable assert for now

svn path=/trunk/; revision=49167

13 years ago[MMIXER]
Johannes Anderwald [Sat, 16 Oct 2010 12:36:21 +0000 (12:36 +0000)]
[MMIXER]
- Add support for topologies where pins directly connect to other pins without nodes in between
- Check if the topology contains node. Fixes assert hit in VmWare Player(sound is not working)
- Thanks to Caemyr for testing

svn path=/trunk/; revision=49166

13 years ago[LSASRV]
Eric Kohl [Sat, 16 Oct 2010 12:34:04 +0000 (12:34 +0000)]
[LSASRV]
- Change the calling convention of all LSA-RPC function to stdcall.
- Export some of the LSA-RPC functions.

svn path=/trunk/; revision=49165

13 years ago[ADVAPI32]
Eric Kohl [Sat, 16 Oct 2010 09:41:47 +0000 (09:41 +0000)]
[ADVAPI32]
Implement LsaCreateAccount(), LsaOpenAccount() and LsaSetInformationPolicy().

svn path=/trunk/; revision=49164

13 years ago[LSASRV]
Eric Kohl [Sat, 16 Oct 2010 08:48:25 +0000 (08:48 +0000)]
[LSASRV]
Add ServiceInit() stub and call it from lsass.

svn path=/trunk/; revision=49163

13 years ago[SCSIPORT]
Cameron Gutman [Fri, 15 Oct 2010 21:38:00 +0000 (21:38 +0000)]
[SCSIPORT]
- Implement support for 2 interrupts
- Halfplement support for 2 DMA channels
- Set/Read the CM_RESOURCE_DMA flags
- Remove a duplicate spin lock initialization
- Partially tested with 2 interrupts in use but UniATA seems to be broken because it registers both interrupts for each channel even though they are not sharable which causes it to fail when initializing the secondary IDE channel

svn path=/trunk/; revision=49162

13 years ago[ADVAPI32/LSASRV]
Eric Kohl [Fri, 15 Oct 2010 21:28:42 +0000 (21:28 +0000)]
[ADVAPI32/LSASRV]
- Prepare LsapValidateDbHandle for access checks.
- Move the functionality of LsaQueryInformationPolicy (advapi32.dll) into the new function LsarQueryInformationPolicy (lsasrv.dll).
- Remove dead code from advapi32.dll.

svn path=/trunk/; revision=49161

13 years ago[WIN32K]
Timo Kreuzer [Fri, 15 Oct 2010 20:13:10 +0000 (20:13 +0000)]
[WIN32K]
Renove some unneccessary casts

svn path=/trunk/; revision=49160

13 years agoAdd apitests to reactos.dff
Timo Kreuzer [Fri, 15 Oct 2010 20:03:47 +0000 (20:03 +0000)]
Add apitests to reactos.dff

svn path=/trunk/; revision=49159

13 years ago[SCSIPORT]
Cameron Gutman [Fri, 15 Oct 2010 19:25:07 +0000 (19:25 +0000)]
[SCSIPORT]
- Remove some code duplication and fix a bug of copying the same interrupt information twice for a device with 2 interrupts (instead of the info for interrupt 1 then the info for interrupt 2) effectively making initialization fail because the resource allocation code will detect a conflict with itself

svn path=/trunk/; revision=49158

13 years ago[WINED3D]
Timo Kreuzer [Fri, 15 Oct 2010 16:56:13 +0000 (16:56 +0000)]
[WINED3D]
Our CRT causes duplicate definitions, when trying to use it as fallback for missing msvcrt imports. Work around this limitation by adding powf and sqrtf wrappers for amd64 builds

svn path=/trunk/; revision=49157

13 years ago[HEAP]
Aleksey Bragin [Fri, 15 Oct 2010 15:53:10 +0000 (15:53 +0000)]
[HEAP]
- Fix a typo which lead to incorrect flags being forced. Fixes last remaining major winetest failures (only 1 GlobalAlloc/Free implementation related one is left to be fixed).

svn path=/trunk/; revision=49156

13 years ago[HEAP]
Pierre Schweitzer [Fri, 15 Oct 2010 15:05:15 +0000 (15:05 +0000)]
[HEAP]
Hackfixed build by stubbing RtlpValidateHeapHeaders(), RtlpValidateHeapEntry() and hackplementing RtlpValidateHeap().
To be properly fixed.

svn path=/trunk/; revision=49155

13 years ago[HEAP]
Aleksey Bragin [Fri, 15 Oct 2010 13:16:48 +0000 (13:16 +0000)]
[HEAP]
- Implement parameters validation ("DebugHeap") in all used RTL heap APIs. Winetests failures down to 4.

svn path=/trunk/; revision=49154

13 years ago[CRT]
Timo Kreuzer [Fri, 15 Oct 2010 12:33:08 +0000 (12:33 +0000)]
[CRT]
Add powf() wrapper

svn path=/trunk/; revision=49153

13 years ago[win32k]
Giannis Adamopoulos [Fri, 15 Oct 2010 08:34:59 +0000 (08:34 +0000)]
[win32k]
- Clean up co_IntPeekMessage

svn path=/trunk/; revision=49152

13 years ago[WDMAUD_KERNEL]
Johannes Anderwald [Fri, 15 Oct 2010 02:24:35 +0000 (02:24 +0000)]
[WDMAUD_KERNEL]
- Implement registering event routine which gets called when a topology node (volume / mute node) changes
- Implement fetching event changes
[MMIXER]
- Implement support routines which get called when a topology node changes its state
- Volume changes / mute on/off changes should now be broadcasted again to all listening applications

svn path=/trunk/; revision=49151

13 years ago[MMIXER]
Johannes Anderwald [Fri, 15 Oct 2010 00:20:15 +0000 (00:20 +0000)]
[MMIXER]
- Rewrite topology node enumeration algorithm
- Old algorithm didnt properly take in account sum/mux nodes, may assign nodes to multiple lines and was not able to detect circuits which may lead to infinite loops
- New algorithm properly partitions the nodes and also checks if nodes has already been assigned. As a plus, it is also faster
- Algorithm based on msdn http://msdn.microsoft.com/en-us/library/ff538873(v=VS.85).aspx
- Tested on VBox 3.28 (AC97)
- Please retest supported soundcards for regressions

svn path=/trunk/; revision=49150

13 years ago[HEAP]
Aleksey Bragin [Thu, 14 Oct 2010 20:55:38 +0000 (20:55 +0000)]
[HEAP]
- Add special debug heap function declarations and stubs.
- Add a useful inline for detecting whether a special or normal heap is going to be used.

svn path=/trunk/; revision=49149

13 years ago[HEAP]
Aleksey Bragin [Thu, 14 Oct 2010 20:04:20 +0000 (20:04 +0000)]
[HEAP]
- Add ability to dynamically allocate UCR descriptors when preallocated amount is exhausted.
- Fix a few bugs in RtlpFindAndCommitPages and in deactivated RtlpDecommitFreeBlock.
- Enable free blocks decommitting.
- New heap manager would now be ready to replace the old one.

svn path=/trunk/; revision=49147

13 years ago[RPCRT4]
Eric Kohl [Thu, 14 Oct 2010 19:41:03 +0000 (19:41 +0000)]
[RPCRT4]
Add a missing format type to unmarshall_discriminant().

svn path=/trunk/; revision=49146

13 years ago[win32k]
Giannis Adamopoulos [Thu, 14 Oct 2010 18:53:12 +0000 (18:53 +0000)]
[win32k]
- When we try to call a hook with null hook proc will cause a crash in user32. Add an assertion in win32k in order to catch the problem a bit earlier

svn path=/trunk/; revision=49145

13 years ago[win32k]
Giannis Adamopoulos [Thu, 14 Oct 2010 18:36:33 +0000 (18:36 +0000)]
[win32k]
- Disable checking if a hook is active. It is safe to disable it for now because it is just an optimization. If we try to call a hook when it is not active, it will fail anyway when it tries to find the hook. Fixes calling low level hooks

svn path=/trunk/; revision=49144

13 years agoSync with trunk head (r49139)
Jérôme Gardou [Thu, 14 Oct 2010 14:23:50 +0000 (14:23 +0000)]
Sync with trunk head (r49139)

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

13 years agoAnother dll addition to cmake, another rc file fix.
Daniel Reimer [Wed, 13 Oct 2010 21:23:48 +0000 (21:23 +0000)]
Another dll addition to cmake, another rc file fix.

svn path=/trunk/; revision=49139

13 years ago[AUTHZ]
Amine Khaldi [Wed, 13 Oct 2010 14:54:37 +0000 (14:54 +0000)]
[AUTHZ]
- Missed these.

svn path=/trunk/; revision=49137

13 years ago[AUTHZ]
Amine Khaldi [Wed, 13 Oct 2010 14:30:49 +0000 (14:30 +0000)]
[AUTHZ]
- Fix AuthzReportSecurityEvent, AuthzInitializeObjectAccessAuditEvent and AuthzInitializeObjectAccessAuditEvent2 prototypes.

svn path=/trunk/; revision=49136

13 years ago[DDK]
Amine Khaldi [Wed, 13 Oct 2010 10:53:01 +0000 (10:53 +0000)]
[DDK]
- Fix RtlStringCbPrintf prototypes.

svn path=/trunk/; revision=49134

13 years ago[SMSS]: Remove the ROS_DOESNT_SUCK hack, and correctly started subsystem processes...
Sir Richard [Tue, 12 Oct 2010 21:17:58 +0000 (21:17 +0000)]
[SMSS]: Remove the ROS_DOESNT_SUCK hack, and correctly started subsystem processes with the first MB reserved.
[CSRSRV]: CSRSS was started with a free address space, and was able to map 0xA0000 into it by luck, because the ReactOS Mm allocator picks address ranges randomly, and it somehow managed to avoid the low 1MB addresses. Were this algorithm to change, or perhaps, were we to implement VADs for VM allocations, the 0xA0000 region might already be allocated (by an early-process-initialization allocation, such as the heap). This is what the flag referenced above was designed for, but it was not used. Using this flag, on the other hand, now makes CSRSS fail, because it attempts to map the RAM into 0xA0000, which fails since you can map a section on top of reserved memory. To work around this Brobdingnagian annoyance, CSRSS simply releases the first MB of memory that SMSS has nicely reserved for it, and then proceeds with the mapping. This fixes the issue of getting 0xA0000 by luck and now guarantees it can be mapped.

svn path=/trunk/; revision=49133

13 years ago[WIDL]
Eric Kohl [Tue, 12 Oct 2010 20:51:07 +0000 (20:51 +0000)]
[WIDL]
Update widl to version 1.3.4.

svn path=/trunk/; revision=49132

13 years ago[NTOSKRNL]
Pierre Schweitzer [Tue, 12 Oct 2010 20:29:50 +0000 (20:29 +0000)]
[NTOSKRNL]
Implemented IopFetchConfigurationInformation(), IopCreateArcNamesCd(), IopCreateArcNamesDisk(), IopVerifyDiskSignature()
Removed IopApplyRosCdromArcHack(), IopGetDiskInformation(), IopAssignArcNamesToCdrom()
Finally, rewritten IopCreateArcNames()

To make it short, this is the rewrite of ARC names handling in the kernel.
This brings our kernel to a higher state of existence. Indeed, it's leaving NT4 design for a proper NT5.2 design, with less hacks, less ROS specific stuff and such.
This code handles the mount manager we don't have yet.

svn path=/trunk/; revision=49131

13 years ago[NTOSKRNL]
Pierre Schweitzer [Tue, 12 Oct 2010 20:22:29 +0000 (20:22 +0000)]
[NTOSKRNL]
Implemented FstubAllocateDiskInformation(), FstubDbgGuidToString(), FstubDbgPrintDriveLayoutEx(), FstubDbgPrintPartitionEx(), FstubDetectPartitionStyle(), FstubFreeDiskInformation(), FstubGetDiskGeometry(), FstubReadPartitionTableMBR(), FstubReadSector()

Stubbed FstubReadPartitionTableEFI()

This leads to a correct & working implementation of IoReadPartitionTableEx(). As this state, it only handles MBR partition tables as EFI/GPT as been stubbed out.

EFI/GPT support will come later.

svn path=/trunk/; revision=49130

13 years ago[CLASS2]
Pierre Schweitzer [Tue, 12 Oct 2010 20:17:55 +0000 (20:17 +0000)]
[CLASS2]
Switch use from DISK_GEOMETRY to DISK_GEOMETRY_EX. It's needed to handle some Windows 2003's kernel routines.

[CDROM]
Reflect changes in Class2.

[DISK]
Reflect changes in Class2.
Also added support for IOCTL_DISK_GET_DRIVE_GEOMETRY_EX.

svn path=/trunk/; revision=49129

13 years ago[D3D]
Eric Kohl [Tue, 12 Oct 2010 20:07:58 +0000 (20:07 +0000)]
[D3D]
Preparations for update to widl 1.3.4.

svn path=/trunk/; revision=49128

13 years ago[HAL]
Cameron Gutman [Tue, 12 Oct 2010 20:02:15 +0000 (20:02 +0000)]
[HAL]
- Check that the interrupt line is not 255
- Check that the interrupt pin is not 0
- Fixes a failed assertion that Caemyr experienced with an ATI Rage graphics card

svn path=/trunk/; revision=49127

13 years ago[HEAP]
Aleksey Bragin [Tue, 12 Oct 2010 18:34:48 +0000 (18:34 +0000)]
[HEAP]
- Implement heap validation support.

svn path=/trunk/; revision=49126

13 years ago[DDK]
Amine Khaldi [Tue, 12 Oct 2010 16:39:38 +0000 (16:39 +0000)]
[DDK]
- Fix ClassDebugPrint prototype.

svn path=/trunk/; revision=49125

13 years agoAttempt nr. 2: link wined3d to crt on amd64 build.
Kamil Hornicek [Tue, 12 Oct 2010 15:02:31 +0000 (15:02 +0000)]
Attempt nr. 2: link wined3d to crt on amd64 build.

svn path=/trunk/; revision=49124