Commit graph

21169 commits

Author SHA1 Message Date
Magnus Olsen
cb6818f2df patch from LMH1 : see bug 1606
NORWEGIAN translations

svn path=/trunk/; revision=22815
2006-07-03 22:28:49 +00:00
Johannes Anderwald
fc2be1d1ce [AUDIT]
* unlock win32csr
* win32csr is totally different implemented from NT Version 
* audit reviewed by Alex_Ionescu

svn path=/trunk/; revision=22814
2006-07-03 22:08:47 +00:00
James Tabor
f985e4b908 Move hBmpClose to the MDICLIENTINFO structure and modified MDI_RestoreFrameMenu to support the change.
svn path=/trunk/; revision=22813
2006-07-03 22:04:42 +00:00
Magnus Olsen
6d2332c2fb Commit bug 1347, patch from w3seek
This patch implements the function TreeResetNamedSecurityInfoA. However, as it's not even implemented in windows, the code is disabled by default.


svn path=/trunk/; revision=22812
2006-07-03 21:43:04 +00:00
Magnus Olsen
3292d82ef6 forget this file sorry
svn path=/trunk/; revision=22811
2006-07-03 21:40:20 +00:00
Magnus Olsen
3bd0205d06 test case for QueueUserWorkItem from bug 1609
by w3seek

svn path=/trunk/; revision=22810
2006-07-03 21:29:32 +00:00
Johannes Anderwald
ac9badbafc set svn:eol-style:native
svn path=/trunk/; revision=22809
2006-07-03 20:27:46 +00:00
Magnus Olsen
76db5b581b 5 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22808
2006-07-03 20:27:38 +00:00
Magnus Olsen
ae94c696ac 4 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22807
2006-07-03 20:26:58 +00:00
Magnus Olsen
34861fa5e2 3 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22806
2006-07-03 20:24:46 +00:00
Magnus Olsen
f9fa435673 2 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22805
2006-07-03 20:23:48 +00:00
Magnus Olsen
d2bab053ae 1 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22804
2006-07-03 20:23:10 +00:00
James Tabor
abedc7b76b Restored sequence for setting WindowObject and callers styles.
svn path=/trunk/; revision=22803
2006-07-03 20:04:17 +00:00
Magnus Olsen
a0e5355f01 wrong propyty on inlcude file it is not a executable format
svn path=/trunk/; revision=22802
2006-07-03 19:59:50 +00:00
Johannes Anderwald
7b888e6f12 * dont perform IntValidateWindowStationHandle in UserCreateMenu when current process is CsrProcess
* this makes system menu for cmd.exe display
* patch reviewed by w3seek and tested by me

svn path=/trunk/; revision=22801
2006-07-03 19:25:48 +00:00
Aleksey Bragin
65045dfa79 Fix a typo (should have been commented from the beginning) in autochk: this removes UM exception in autochk during bootup
svn path=/trunk/; revision=22800
2006-07-03 16:51:19 +00:00
Hervé Poussineau
2bd2be9797 Add a big warning about installing custom drivers
svn path=/trunk/; revision=22799
2006-07-03 15:04:46 +00:00
Hervé Poussineau
41badff137 Define DLL_WINE_PREATTACH constant
svn path=/trunk/; revision=22798
2006-07-03 14:00:16 +00:00
Hervé Poussineau
19c1803cbb Add missing constants
svn path=/trunk/; revision=22796
2006-07-03 10:19:42 +00:00
James Tabor
afe9ebf1f4 -NtUserCreateWindowEx: Removed not about setting WS_CHILD.
svn path=/trunk/; revision=22795
2006-07-03 07:54:45 +00:00
James Tabor
f638f11734 -NtUserCreateWindowEx: Don't force WS_CHILD set, it could be WS_POPUP.
svn path=/trunk/; revision=22794
2006-07-03 07:52:22 +00:00
Hervé Poussineau
5167c901d3 Add more defines for anonymous structure/union names
svn path=/trunk/; revision=22793
2006-07-03 07:43:28 +00:00
James Tabor
8307280bc9 - NtUser/CreateWindowExA/W:
- Add support for WS_EX_MDICHILD. Reordered sequence for setting WindowObject and callers styles.
  - Synced mdi.c from Wine. Added support function MDI_GetId help return IDMenu.
  - Thanks to GreatLord for helping.

svn path=/trunk/; revision=22792
2006-07-03 04:33:29 +00:00
Alex Ionescu
0ffb1da110 - NtQueryDirectoryFile:
- Setup a buffer/MDL and the correct IRP flags so that that I/O manager can handle allocation, copy, free for us.
  - Setup the search pattern as an auxiliary buffer so that the I/O Mgr can track that one for us as well.
  - Update to use the correct sync semantics/routines.
  - Use deferred I/O completion.
- Outline TODOs and workplan for iofunc.c

svn path=/trunk/; revision=22791
2006-07-03 02:50:16 +00:00
Alex Ionescu
933ef1952d - NtWriteFile:
- Allow async i/o access on mailslots, without a byte offset.
  - Fix sync semantics just like for the other functions until now.
  - Fix a potential object leak in  a failure case.
  - Don't call IoBuildSyncronousFsdRequest since we want to build the IRP ourselves.
  - Use deferred I/O as an optimization.

svn path=/trunk/; revision=22790
2006-07-03 01:17:14 +00:00
Alex Ionescu
c4bc69cfd7 - NtReadFile:
- Allow async i/o access on mailslots, without a byte offset.
  - Fix sync semantics just like for the other functions until now.
  - Fix a potential object leak in  a failure case.
  - Don't call IoBuildSyncronousFsdRequest since we want to build the IRP ourselves.
  - Use deferred I/O as an optimization.

svn path=/trunk/; revision=22789
2006-07-02 23:02:38 +00:00
Alex Ionescu
2ea73a1428 - Same sort of changes for NtSetVolumeInformationFile.
svn path=/trunk/; revision=22788
2006-07-02 22:19:29 +00:00
Alex Ionescu
b17492f448 - Fix sync usage in NtQueryVolumeInformationFile, set the right IRP flags so that the I/O manager can handle copying the data back and freeing the buffer, and enable deferred completion.
svn path=/trunk/; revision=22787
2006-07-02 22:14:20 +00:00
Alex Ionescu
7dc0e5e4e8 - Add proper sync handling to NtUnlockFile.
svn path=/trunk/; revision=22786
2006-07-02 22:07:20 +00:00
Aleksey Bragin
d063cd0281 Mikhail Zvyozdochkin: Fix compiling on linux (adding missing headers inclusion)
svn path=/trunk/; revision=22785
2006-07-02 22:03:40 +00:00
Aleksey Bragin
feaabba4dc Mikhail Zvyozdochkin: Fix compiling on linux (adding proper include path for halxbox)
svn path=/trunk/; revision=22784
2006-07-02 21:59:04 +00:00
Hervé Poussineau
ff2f32e1fc Delete now useless code
svn path=/trunk/; revision=22782
2006-07-02 21:35:31 +00:00
Hervé Poussineau
6213ba017a Delete now useless code
svn path=/trunk/; revision=22781
2006-07-02 21:35:06 +00:00
Hervé Poussineau
b4a471a78a Rename richedit to riched32 and lzexpand to lz32
svn path=/trunk/; revision=22780
2006-07-02 21:33:02 +00:00
Eric Kohl
327a05db0f Implement CM_Open_DevNode_Key and add CM_Open_DevNode_Key_Ex stub.
svn path=/trunk/; revision=22777
2006-07-02 19:20:45 +00:00
Alex Ionescu
8a2e062765 - More of the same for NtNotifyChangeDirectoryFile.
svn path=/trunk/; revision=22776
2006-07-02 19:11:26 +00:00
Alex Ionescu
363f94ff5d - NtLockFile:
- Add proper sync operation.
  - Set the APC Routine/Context in the IRP instead of ignoring them.
  - Dereference the event on failure.
  - Set the allocated buffer as AuxiliaryBuffer so the I/O manager fres it.

svn path=/trunk/; revision=22775
2006-07-02 19:01:17 +00:00
Alex Ionescu
125c2ebaac - Temporarily disable queueing IRPs to their threads, since raising to APC_LEVEL seems to cause some weird user-mode exceptions.
svn path=/trunk/; revision=22774
2006-07-02 18:47:54 +00:00
Hervé Poussineau
1dc3c727a1 Implement IopReinitializeBootDrivers, on the model of IopReinitializeDrivers
svn path=/trunk/; revision=22773
2006-07-02 18:34:21 +00:00
Alex Ionescu
bd7e79620d - Move NtCancelIoFile and NtDeleteFile to file.c, they don't deal with IRPs.
- Create IopFinalizeAsynchronousIo to deal with Sync APIs working on Async file objects, which need to be waited on differently and have the IOSB copied manually.
- Update NtFlushBuffersFile to new semantics (ie, usage of the new implemented functions).

svn path=/trunk/; revision=22772
2006-07-02 18:20:37 +00:00
Alex Ionescu
a6a473a94d - Same changes for IoSertInformation: Lock the FO, queue the IRP, support alerted I/O, etc...
svn path=/trunk/; revision=22771
2006-07-02 16:41:49 +00:00
Alex Ionescu
588b81a0ba - Combine IoQueryVolumeInformation and IoQueryFileInformation
- Fix them to lock the fileobject for synch operations, use IopCleanupFailedIrp, queue the IRP in the thread's list, support aborting the I/o operation through IopAbortInterruptedIrp, and properly wait for comlpetion.

svn path=/trunk/; revision=22770
2006-07-02 16:35:05 +00:00
Alex Ionescu
13ef11ff23 - Start of heavy work on iofunc.c:
- Created our new friends: IopCleanupFailedIrp, IopAbortInterruptedIrp, IopPerformSynchronousRequest, IopLockFileObject, IopUnlockFileObject, IopQueueIrpToThread, IopUpdateOperationCount.
  - What does this mean: We actually queue IRPs to their thread! We actually respect I/O transfers being interrupted/alerted! We actually respect I/O operation counts! We actually LOCK FILE OBJECTS instead of randomly using them! We now support Deferred (read: MUCH faster) I/O completion.
- First function blessed: IopDeviceFsIoControl.
- Also simplified access rights check and fixedup some formatting.

svn path=/trunk/; revision=22769
2006-07-02 16:20:10 +00:00
Alex Ionescu
fbddf0d1ac - Fix formatting of some newly added functions before starting heavy work.
svn path=/trunk/; revision=22768
2006-07-02 14:26:25 +00:00
Alex Ionescu
fcb77c4c3d - Move IoGetBaseFileSystemDeviceObject to device.c and make it check for FO_DIRECT_DEVICE_OPEN, which it wasn't before (and also code it in a less confusing way like the other IoGetXxxDeviceObject APIs)
- Mask out the DO_VERIFY_VOLUME flag when mounting a device.

svn path=/trunk/; revision=22767
2006-07-02 06:28:29 +00:00
Alex Ionescu
130980ccde - Small optimization: don't bother to get the File System Listhead we'll parse if we're going to fail because of wrong VPB flags later... get the list only after we're sure we need it.
svn path=/trunk/; revision=22766
2006-07-02 06:18:55 +00:00
Alex Ionescu
ff429eb9f3 - Use IoIsErrorUserInoduced to check if we couldn't mount the device because it was not actually inserted, was unrocognized, write-protected, etc... and completely break out of the mounting procedure if so.
- Also use FsRtlIsTotalDeviceFailure to check if the error was a fatal device error (like a CRC error) and abandon mounting in this case as well.

svn path=/trunk/; revision=22765
2006-07-02 06:15:52 +00:00
Alex Ionescu
23be4d46c6 - Implement IopInitailizeVpbForMount for the purpose of setting up the VPB for a newly mounted DO. It properly references the VPB and sets up its stack size and flags, adding support for VPB_RAW_MOUNT. Also sets the VPB pointer in the DevObjExtension.
- Fix a bug which was causing us to incorrectly unlock the device if it was already locked by the caller isntead of by IopMountVolume.
- When loading the file system, make sure to unlock the device object if we had locked it in IopMountVolume, as well as to re-lock it afterwards. Also handle a potential race condition due to this unloacking, in which the VPB might've become mounted behind our back, and simply return success if this happened.

svn path=/trunk/; revision=22764
2006-07-02 06:11:19 +00:00
Alex Ionescu
93454acf2b - Improve list looping to remove gotos.
- Dereference the device object in case of failure.
- Add some optimizations to quickly skip invalid raw mounting.
- Add support for VPB_RAW_MOUNT.
- Allow raw mount if this is the only device on the list.
- Make the success case go through shared exit, otherwise the device wasn't getting unlocked previously.

svn path=/trunk/; revision=22763
2006-07-02 05:52:47 +00:00
Alex Ionescu
320000e093 - If the device to be mounted is an attachee, find the base device object
- Reference the device object being mounted.
- If the file system being mounted is an atachee, find its base device object too, and increase the IRP Stack for each attached FSD.
- Fix IRP parameters with this new information.

svn path=/trunk/; revision=22762
2006-07-02 05:44:27 +00:00