Commit graph

43719 commits

Author SHA1 Message Date
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
Giannis Adamopoulos 36b0351814 [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
2010-10-14 18:36:33 +00:00
Daniel Reimer 773744f9ec Another dll addition to cmake, another rc file fix.
svn path=/trunk/; revision=49139
2010-10-13 21:23:48 +00:00
Amine Khaldi 9ddf9db633 [AUTHZ]
- Missed these.

svn path=/trunk/; revision=49137
2010-10-13 14:54:37 +00:00
Amine Khaldi 8a867c2d84 [AUTHZ]
- Fix AuthzReportSecurityEvent, AuthzInitializeObjectAccessAuditEvent and AuthzInitializeObjectAccessAuditEvent2 prototypes.

svn path=/trunk/; revision=49136
2010-10-13 14:30:49 +00:00
Amine Khaldi 6c93543364 [DDK]
- Fix RtlStringCbPrintf prototypes.

svn path=/trunk/; revision=49134
2010-10-13 10:53:01 +00:00
Sir Richard 6f0a1a3598 [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
2010-10-12 21:17:58 +00:00
Eric Kohl 8bfc61d69d [WIDL]
Update widl to version 1.3.4.

svn path=/trunk/; revision=49132
2010-10-12 20:51:07 +00:00
Pierre Schweitzer 6d0861e9ed [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
2010-10-12 20:29:50 +00:00
Pierre Schweitzer 82e5bca0e7 [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
2010-10-12 20:22:29 +00:00
Pierre Schweitzer 466f11a06e [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
2010-10-12 20:17:55 +00:00
Eric Kohl 7b8d28a209 [D3D]
Preparations for update to widl 1.3.4.

svn path=/trunk/; revision=49128
2010-10-12 20:07:58 +00:00
Cameron Gutman eb1a973d69 [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
2010-10-12 20:02:15 +00:00
Aleksey Bragin 1bcf80bc88 [HEAP]
- Implement heap validation support.

svn path=/trunk/; revision=49126
2010-10-12 18:34:48 +00:00
Amine Khaldi 6c00026235 [DDK]
- Fix ClassDebugPrint prototype.

svn path=/trunk/; revision=49125
2010-10-12 16:39:38 +00:00
Kamil Hornicek 3905ce18c3 Attempt nr. 2: link wined3d to crt on amd64 build.
svn path=/trunk/; revision=49124
2010-10-12 15:02:31 +00:00
Kamil Hornicek 065484b260 Fix amd64 build.
svn path=/trunk/; revision=49123
2010-10-12 14:24:58 +00:00
Aleksey Bragin 917da839e1 [NTDLL]
- Don't access unitialized memory. Caught thanks to a new heap manager, and this fixes all weird actctx exceptions in kernel32_winetest heap.

svn path=/trunk/; revision=49122
2010-10-12 09:03:39 +00:00