Commit graph

44054 commits

Author SHA1 Message Date
Johannes Anderwald 619ab27e1d [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
2010-10-18 22:21:00 +00:00
Johannes Anderwald 54374ca72e [PORTCLS]
- Store Miniport object in the device descriptor
- Fixes assert in NVidia NForce Audio Driver

svn path=/trunk/; revision=49198
2010-10-18 18:59:17 +00:00
Sir Richard 32ccfc25bf [NTOS]: Remove the "35314 sginsberg /* REACTOS Mm Hack of Doom */". Apocalypse averted?
svn path=/trunk/; revision=49196
2010-10-18 14:34:35 +00:00
Sir Richard ba0bd37078 [NTOS]: Remove the Bavarian hack, I no longer think it is needed.
svn path=/trunk/; revision=49195
2010-10-18 14:29:05 +00:00
Sir Richard a81f92c1cb [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
2010-10-18 14:25:33 +00:00
Sir Richard 26c20f3857 [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
2010-10-18 13:10:54 +00:00
Johannes Anderwald 7c151f3f05 [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
2010-10-17 22:38:34 +00:00
Johannes Anderwald 5542d91941 [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
2010-10-17 21:15:21 +00:00
Sir Richard 068812254c [NTOS]: Fix brainfart (an interesting bug we would've never hit, but a bug nevertheless).
svn path=/trunk/; revision=49188
2010-10-17 20:11:04 +00:00
Sir Richard 84328d78db [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
2010-10-17 20:02:17 +00:00
Sir Richard 3910f94f4a [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
2010-10-17 19:56:04 +00:00
Daniel Reimer ef0b6ce0bc 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
2010-10-17 17:04:39 +00:00
Eric Kohl b6bcbf0886 [ADVAPI32]
Move the Encrypted File System (EFS) functions into their own file.

svn path=/trunk/; revision=49184
2010-10-17 15:01:46 +00:00
Eric Kohl 3114284398 [PSDK]
Add DecryptFileA/W prototype.

svn path=/trunk/; revision=49183
2010-10-17 14:54:59 +00:00
Sylvain Petreolle 1e4af3fa18 [APITESTS]
Fix (R)TEST macros in gdi32_apitest,
ensures correct display and no crash report in testman.

svn path=/trunk/; revision=49182
2010-10-17 14:50:02 +00:00
Sylvain Petreolle 081e778c2d Katayama Hirofumi:
Add / update Japanese translations.
Fix typos in calc en-US resource.
Bug #5673,5674,5675,5676.

svn path=/trunk/; revision=49181
2010-10-17 12:47:02 +00:00
Sylvain Petreolle f33d927f43 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
2010-10-17 11:12:54 +00:00
Daniel Reimer 49c30a8a6d Sync reg xcopy winhlp32 wordpad and msiexec with Wine 1.3.5
svn path=/trunk/; revision=49179
2010-10-17 00:26:32 +00:00
Sir Richard 82949cc7b2 [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
2010-10-16 21:04:50 +00:00
Sir Richard 55e59a3673 [NTOS]: Add MmProtectToValue array to convert MM/PTE protection values to Win32 protection flags.
svn path=/trunk/; revision=49177
2010-10-16 21:02:48 +00:00
Aleksey Bragin 8cf3c262f2 [PSDK]
- Add NOMIRRORBITMAP definition.

svn path=/trunk/; revision=49176
2010-10-16 19:46:03 +00:00
Aleksey Bragin f4be908fdd [PSDK]
- Add ICONINFOEX* definitions and GetIconInfoEx* declarations from Wine.

svn path=/trunk/; revision=49175
2010-10-16 17:23:40 +00:00
Eric Kohl eccf8af929 [ADVAPI32]
Implement LsaAddPrivilegesToAccount(), LsaCreateTrustedDomain(), LsaDeleteTrustedDomain() and LsaOpenTrustedDomainByName().

svn path=/trunk/; revision=49174
2010-10-16 16:26:52 +00:00
Sir Richard 36edd7ee75 !!! 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
2010-10-16 15:48:42 +00:00
Sir Richard 73c1c7f232 [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
2010-10-16 15:24:08 +00:00
Cameron Gutman 8047296236 [SCSIPORT]
- Fix a couple of typos in the DMA code from my last commit

svn path=/trunk/; revision=49170
2010-10-16 15:15:51 +00:00
Sir Richard 68e8260b98 [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
2010-10-16 14:20:30 +00:00
Kamil Hornicek 3b63f433a0 [MMIXER]
Amendment to rev. 49167 requested by Caemyr.

svn path=/trunk/; revision=49168
2010-10-16 13:55:09 +00:00
Johannes Anderwald 53ddbca64c [MMIXER]
- Disable assert for now

svn path=/trunk/; revision=49167
2010-10-16 12:39:49 +00:00
Johannes Anderwald aa8c6826c3 [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
2010-10-16 12:36:21 +00:00
Eric Kohl ab14f413c9 [LSASRV]
- Change the calling convention of all LSA-RPC function to stdcall.
- Export some of the LSA-RPC functions.

svn path=/trunk/; revision=49165
2010-10-16 12:34:04 +00:00
Eric Kohl b560e7a480 [ADVAPI32]
Implement LsaCreateAccount(), LsaOpenAccount() and LsaSetInformationPolicy().

svn path=/trunk/; revision=49164
2010-10-16 09:41:47 +00:00
Eric Kohl c35d9e6039 [LSASRV]
Add ServiceInit() stub and call it from lsass.

svn path=/trunk/; revision=49163
2010-10-16 08:48:25 +00:00
Cameron Gutman e53b74f8c5 [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
2010-10-15 21:38:00 +00:00
Eric Kohl 40a9859ca5 [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
2010-10-15 21:28:42 +00:00
Timo Kreuzer 7796502f67 [WIN32K]
Renove some unneccessary casts

svn path=/trunk/; revision=49160
2010-10-15 20:13:10 +00:00
Timo Kreuzer f2db8eca6a Add apitests to reactos.dff
svn path=/trunk/; revision=49159
2010-10-15 20:03:47 +00:00
Cameron Gutman 50bca246a8 [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
2010-10-15 19:25:07 +00:00
Timo Kreuzer b5fef1ffcd [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
2010-10-15 16:56:13 +00:00
Aleksey Bragin e700e19237 [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
2010-10-15 15:53:10 +00:00
Pierre Schweitzer 1a3aa9c454 [HEAP]
Hackfixed build by stubbing RtlpValidateHeapHeaders(), RtlpValidateHeapEntry() and hackplementing RtlpValidateHeap().
To be properly fixed.

svn path=/trunk/; revision=49155
2010-10-15 15:05:15 +00:00
Aleksey Bragin 7f8660190b [HEAP]
- Implement parameters validation ("DebugHeap") in all used RTL heap APIs. Winetests failures down to 4.

svn path=/trunk/; revision=49154
2010-10-15 13:16:48 +00:00
Timo Kreuzer 6fa23913f1 [CRT]
Add powf() wrapper

svn path=/trunk/; revision=49153
2010-10-15 12:33:08 +00:00
Giannis Adamopoulos 1d07d0bf75 [win32k]
- Clean up co_IntPeekMessage

svn path=/trunk/; revision=49152
2010-10-15 08:34:59 +00:00
Johannes Anderwald 8158082c80 [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
2010-10-15 02:24:35 +00:00
Johannes Anderwald 8a0913d231 [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
2010-10-15 00:20:15 +00:00
Aleksey Bragin 4758da752f [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
2010-10-14 20:55:38 +00:00
Aleksey Bragin 57f4a96cc1 [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
2010-10-14 20:04:20 +00:00
Eric Kohl 6e2cb102ff [RPCRT4]
Add a missing format type to unmarshall_discriminant().

svn path=/trunk/; revision=49146
2010-10-14 19:41:03 +00:00
Giannis Adamopoulos 692b1c23aa [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
2010-10-14 18:53:12 +00:00