Commit graph

37656 commits

Author SHA1 Message Date
Dmitry Gorbachev
f9341cafca Add missing license.
svn path=/trunk/; revision=42173
2009-07-24 10:52:49 +00:00
Timo Kreuzer
07203a50c1 [delayimp]
- move IndexFromPImgThunkData and PFromRva to delayimp.h
- use __ImageBase insetad of _image_base__
- fix include guard
- RVA is a DWORD, not a PVOID

svn path=/trunk/; revision=42172
2009-07-24 10:25:53 +00:00
Ged Murphy
9e27cfbe88 Add a missing mockup image
svn path=/trunk/; revision=42171
2009-07-24 07:44:51 +00:00
Timo Kreuzer
7fa58c4d87 Add license header (LGPL)
svn path=/trunk/; revision=42170
2009-07-24 04:30:09 +00:00
Timo Kreuzer
ceff19824f Implement delayimp lib
This library will allow to delay import from dlls, if used together with the corresponding delayimport lib for that dll. An initial patch for dlltool can be found in bug #4730.
Based on Matt Pietrek's "Under the Hood" article: http://www.microsoft.com/msj/1298/hood/hood1298.aspx and msdn documentation.

svn path=/trunk/; revision=42169
2009-07-24 04:24:36 +00:00
James Tabor
9fd89d0e43 - [Win32k] More work on classes. Fixed SEH abuse and implemented NtUserGetWOWClass. Minor bug fixes and modifications that help function compatibility based on wine.
- Tested wine (some improvements and losses): Msi seems to be fixed, did not test before these changes. My guess is Jeffrey Morlan fixed it in 42163, so a Big Thank You!!! Tested Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42168
2009-07-24 01:03:11 +00:00
Ged Murphy
1a67e2e700 I always forget about RosBE ....
svn path=/trunk/; revision=42167
2009-07-23 22:11:06 +00:00
Johannes Anderwald
ed9d21232d - fix clobering of stack in the event, property, method and start device routine
svn path=/trunk/; revision=42166
2009-07-23 21:48:47 +00:00
Ged Murphy
54d58cdb65 Draw the appropriate taskbar mockup image in the dialog when the user clicks the checkboxes
svn path=/trunk/; revision=42165
2009-07-23 21:35:52 +00:00
Johannes Anderwald
77a79fb006 - Add calling convention for callback typedefs
- Ros needs msvc!

svn path=/trunk/; revision=42164
2009-07-23 21:32:39 +00:00
Jeffrey Morlan
91de7b5fd3 LoadLibraryExW: After loading a library as a datafile, clean up properly (don't leak SearchPath, and don't free DllName if we didn't allocate it)
svn path=/trunk/; revision=42163
2009-07-23 20:48:43 +00:00
Stefan Ginsberg
c3f828c7ee - Use the KiProcessorBlock array to loop the PRCBs in a portable way
svn path=/trunk/; revision=42162
2009-07-23 19:37:09 +00:00
Johannes Anderwald
15bec214b5 - Don't blame Arch, it was ks.h
svn path=/trunk/; revision=42161
2009-07-23 19:27:53 +00:00
Johannes Anderwald
4fdbdba1d9 [KS]
- Implement KsAcquireDevice, KsReleaseDevice, KsTerminateDevice
- Fix unimplemented tags
- Use double in spec for functions taking longlong arguments [[Colin Finck]]

svn path=/trunk/; revision=42156
2009-07-23 15:19:46 +00:00
Johannes Anderwald
c2874dcc29 - Add types to unbreak build
- thanks dreimer

svn path=/trunk/; revision=42155
2009-07-23 14:18:22 +00:00
Johannes Anderwald
2227681545 - Add tons of stubs
- Add (existing) exported functions
- Ks mostly has now WinXP' ks exported functions

svn path=/trunk/; revision=42153
2009-07-23 13:13:45 +00:00
Cameron Gutman
dff406bfd7 - Implement link speed and duplex detection
- Fix LED programming (we didn't set LEDPE so all our programming was ignored)
 - Add some other LED programming
 - Fixes bug 4703

svn path=/trunk/; revision=42152
2009-07-23 04:21:06 +00:00
James Tabor
194297c386 - [Win32k] More work on classes. Wine test drop to 35 failures from 52, now with the system class rewrite it is up to 42 failures. There is one User32 loaded so there is one User client Instance for this system. One System class per system not including Public (Global) or Private (Local) classes per process. Sorting continues.
- Tested wine (some improvements and losses), Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42151
2009-07-23 01:34:31 +00:00
Johannes Anderwald
1ad4db139c - Implement KsQueryObjectAccessMask, KsQueryObjectCreateItem
- Use KSQUEUE_SPINLOCK_IRP_STORAGE macro for access the stored spin lock

svn path=/trunk/; revision=42150
2009-07-23 00:47:21 +00:00
Johannes Anderwald
db1215455b - Remove old irp queue implementation
- Implement KsCancelIo, KsReleaseIrpOnCancelableQueue, KsRemoveIrpFromCancelableQueue, KsRemoveSpecificIrpFromCancelableQueue, KsAddIrpToCancelableQueue, KsCancelRoutine

svn path=/trunk/; revision=42149
2009-07-23 00:13:04 +00:00
ReactOS Portable Systems Group
916f5b12a6 - Initialize the value of MmBootImageSize in ARM3 now.
- Also fix its value such that it's PDE aligned -- this makes sure that we don't step on any of the boot loader's PDE mappings and can blow everything away later.
- Initialize the MmSystem/User/Probe Addresses in ARM3 as well (no functional change).
- Print out a lot more of the VA ranges in ARM3's Phase 2 initialization. Most of the VA space is now dumped out.
- Write out the code to initialize session space VA ranges
  - Image space, view space, working set space and pool space values are all calculated properly.
    - NT default sizes are used, without support for registry overrides (yet).
  - Also system view space is initialized and sized.
  - Code is heavily commented and explained for inquisitive minds.
- Define the paged pool start address, minimum/default size, and add some extra pool header asserts/definitions.
- Define MmPagedPoolInfo to keep track of all paged pool related information (start/end PTEs, VA ranges, allocation/free bitmaps, etc).
- Fixed a lot of comments and added some new ones to provide extra clarity.
- Implement MiBuildPagedPool. It has two jobs:
  - Build and create the shadow system page directory, which double-maps the System process' PDE.
    - More explenations are in the comments.
  - Define the paged pool region and size, and initialize MmPagedPoolInfo accordingly.
  - Create and setup the paged pool allocation and free bitmaps (again explained in the comments).
- There shouldn't be any real functional change yet due to this commit.
  - We need to create memory areas for session space and system view space otherwise the VA regions could get used by ReactOS instead.


svn path=/trunk/; revision=42148
2009-07-22 22:46:29 +00:00
Johannes Anderwald
721b165dbb - Fix totally broken KSWORKER implementation (it may have worked, but it didnt do what it should have)
- Re-Implement KsQueueWorkItem, KsIncrementCountedWorker, KsDecrementCountedWorker, KsRegisterCountedWorker, KsUnregisterWorker, KsRegisterWorker

svn path=/trunk/; revision=42147
2009-07-22 21:27:44 +00:00
Johannes Anderwald
f035e43e1e - Use KSSTRING instead of hardcoding object class
- Implement KsValidateAllocatorCreateRequest, KsValidateClockCreateRequest, KsValidateTopologyNodeCreateRequest

svn path=/trunk/; revision=42146
2009-07-22 19:08:57 +00:00
Johannes Anderwald
ddf9f8aa58 - Add flags
- Revert 42107

svn path=/trunk/; revision=42145
2009-07-22 19:05:58 +00:00
Johannes Anderwald
3e489bf3af [KS]
- Rewrite KSCREATE_ITEM handling to support clocks, nodes, allocators. 
- Store create items in list instead of an array. Consequently, the code can be re-used for KSDEVICE_HEADER / KSOBJECT_HEADER functions. 
- Implement KsAddObjectCreateItemToObjectHeader
- Implement now KspCreate and IKsDevice_Create properly
- Implement KsGetDevice by using KSBASIC_HEADER struct which must be positioned before its object specific (PKSFILTER, PKSFILTERFACTOR, PKSPIN)
- Remove a hack from KspCreateObjectType
[PORTCLS]
- Store real dispatched object in FsContext2
- Implement a fast device i/o handler
- Increase minimum data threshold when a stream stops prematurely by 10 audio frames (port driver WaveCyclic)
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately.
[KMIXER]
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately.
[SYSAUDIO]
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately.



svn path=/trunk/; revision=42143
2009-07-22 14:42:51 +00:00
Matthias Kupfer
8497361513 fix a minor translation mistake
svn path=/trunk/; revision=42140
2009-07-22 12:11:56 +00:00
Aleksey Bragin
a208c2340f - Add missing braces to prevent PVOID pointer arithmetic.
svn path=/trunk/; revision=42138
2009-07-22 11:15:34 +00:00
ReactOS Portable Systems Group
95688079e3 - Prettify PFN dump output (add totals for each consumer and page type).
svn path=/trunk/; revision=42132
2009-07-22 07:52:47 +00:00
ReactOS Portable Systems Group
23a2825b03 - Separe ARM3 Init into 3 defined phases:
- 1: No PFN Database exists
  - 2: PFN Database exists
  - 3: ReactOS NP Pool exists (deprecated)
- Cleanup ReactOS Mm init to work with this.
- ARM3 Phase 1 Init now uses pages directly from the physical memory descriptor.
  - This similar to how "MmAllocEarlyPage" used to work. 
    - A new function MxGetNextPage now does this.
    - MxGetNextPage can allocate more than just one page however (making it possible to get contiguous physical memory without going through the PFN-based MmAllocateContiguousMemory beast)
    - Also MxGetNextPage will bugcheck with INSTALL_MORE_MEMORY if it runs out of pages.
  - Renamed the physical memory descriptor variables to MxFreeDescriptor, MxOldFreeDescriptor instead of MiFreeDescriptor and MiOrgFreeDescriptor (based on NT symbols)
  - Nonpaged pool PDEs, PFN database PDEs, and initial nonpaged pool PTEs are now allocated through MxGetNextPage.
- Fix an off by one error in the sizing of MxPfnAllocation.
- The PFN database is now fully "owned" by ARM3 in terms of its PDE mappings and VA location at 0xB0000000.
  - ie. MmArmPfnDatabase is now MmPfnDatabase.
  - The actual PFN database entries and setup are still done by the ReactOS Mm.
- Got rid of ARM nonpaged pool allocator test.
- Repositioned ReactOS nonpaged pool (deprecated) after the boot image (used to be after the PFN database).
  - Paged pool follows.

svn path=/trunk/; revision=42131
2009-07-22 07:33:22 +00:00
James Tabor
e3ef0343ba - [Win32k] Rename class and window structures.
svn path=/trunk/; revision=42130
2009-07-22 05:23:08 +00:00
James Tabor
9e5cbe0781 - Fix crash in wine test.
svn path=/trunk/; revision=42129
2009-07-22 04:26:35 +00:00
James Tabor
0485c0c365 - [Win32k] Update class and window structures.
- Rewritten Set/GetWindowContextHelpId.
- Removed NtUserRegisterClassEx, replaced it with NtUserRegisterClassExWOW.
- Updated all related files and functions.


svn path=/trunk/; revision=42128
2009-07-22 04:11:06 +00:00
Cameron Gutman
9144a1bbf6 - Don't fail the entire probe if something goes wrong when allocating a controller (this is what we do if _MULTI_UHCI is not defined also)
svn path=/trunk/; revision=42127
2009-07-22 02:20:24 +00:00
Cameron Gutman
ab3c1cfd2c - Return the DEVICE_OBJECT we got instead of NULL
svn path=/trunk/; revision=42126
2009-07-22 02:06:50 +00:00
Cameron Gutman
b63b5ba1fb - Fix compilation of usbdriver with _MULTI_UHCI defined
svn path=/trunk/; revision=42125
2009-07-22 01:47:27 +00:00
ReactOS Portable Systems Group
1f4bf9180e - Get rid of debug spew used during testing.
svn path=/trunk/; revision=42124
2009-07-21 20:04:17 +00:00
Aleksey Bragin
012c86a88f - Add cryptdlg as autosynced.
svn path=/trunk/; revision=42123
2009-07-21 19:00:08 +00:00
Dmitry Chapyshev
badf1a329a - Revert my previous changes in QueueUserWorkItem
svn path=/trunk/; revision=42122
2009-07-21 16:38:50 +00:00
Sylvain Petreolle
15293b22aa Fix svn repository address
svn path=/trunk/; revision=42121
2009-07-21 15:51:27 +00:00
Sylvain Petreolle
2bd9e63884 - Update Module List
- Fix arguments check

svn path=/trunk/; revision=42120
2009-07-21 14:58:11 +00:00
Johannes Anderwald
4d14e675c2 - Update Module List
svn path=/trunk/; revision=42119
2009-07-21 13:53:20 +00:00
Sylvain Petreolle
4df2364dc6 fix includes case
svn path=/trunk/; revision=42118
2009-07-21 13:44:45 +00:00
Johannes Anderwald
4725a4fd9c - Rewrite KsDefaultDispatchPnp to make it actually work
- Implement KsDefaultDispatchPower, KsDefaultForwardIrp
- Return the correct device object in KsQueryDevicePnpObject
- Implement KsReadFile, KsSetInformationFile and partly KsQueryInformationFile
- Remove KspClose, KspRead, KspWrite, KspFlushBuffers, KspQuerySecurity, KspSetSecurity and all these IOCTL in KspDispatchIrp
- Rewrite KsDispatchIrp to handle IRP_MJ_CREATE & IRP_MJ_POWER, IRP_MJ_PNP for AV Stream minidrivers and forward IRP_MJ_SYSTEM_CONTROL requests to the registered pnp base object
- Unsupported IOCTLs are now completed with KsDispatchInvalidDeviceRequest (previously leaked)


svn path=/trunk/; revision=42117
2009-07-21 13:32:28 +00:00
ReactOS Portable Systems Group
de33ea571e - Do not set the non-x86 file system and disk read buffers to some random static variable that isn't even initialized on time.
- As a temporary hack, hard-code them to 0x80000000, a valid RAM address on OMAP3.
    - This code path is only used on ARM anyway, so it's not such a big deal, but a better fix should be done later.
- OmapLDR can now boot FreeLDR, which attempts to load NTOSKRNL.EXE and dies.
  - Need to revisit significant parts of the MMU code before attempting to go further; this won't likely be done for a good couple of months.

svn path=/trunk/; revision=42116
2009-07-21 09:44:36 +00:00
Dmitry Chapyshev
c2018d5633 - Add ws2help from alex-network-branch
svn path=/trunk/; revision=42115
2009-07-21 09:16:26 +00:00
Dmitry Chapyshev
fd8fa4a64c - Fix some warnings
svn path=/trunk/; revision=42114
2009-07-21 09:10:28 +00:00
Dmitry Chapyshev
c856ffc8ed - .def -> .spec
- Fix .rbuild

svn path=/trunk/; revision=42113
2009-07-21 09:06:25 +00:00
Dmitry Chapyshev
0b019f3ae8 - Add some defines, prototypes. It fixes compilation ws2_32_new
svn path=/trunk/; revision=42112
2009-07-21 09:03:03 +00:00
Dmitry Chapyshev
713ca4ef89 - Fix types of parameters for WPUFDIsSet, WSCInstallProvider
svn path=/trunk/; revision=42111
2009-07-21 08:59:30 +00:00
James Tabor
b5f733b8ce - [Win32k] Update class structure and fixed on class wine test.
svn path=/trunk/; revision=42110
2009-07-21 02:56:24 +00:00