- Refactor LocalEnumPrinters to make it ready for supporting additional levels.
- Correctly handle all passed flags for Level 1 queries to the Local Print Provider.
- Introduce strsafe functions to LocalEnumPrinters in a way that actually makes the code smaller. To be done in other parts too.
- Use PackStrings in LocalEnumPrinters to simplify the code.
- Return the correct 3 strings in the Description field of Level 1 queries. That also introduces the "Location" field.
- Remove debug spam in _OpenEnvironment.
[SPOOLSV]
- Make use of the newly implemented AlignRpcPtr/UndoAlignRpcPtr. Fixes a test.
[WINSPOOL]
- Dismiss invalid levels already in EnumPrintersW and zero the input buffer here (but not in localspl). Verified by a test.
EnumPrintersW for Level 1 should be fully supported now.
svn path=/trunk/; revision=74324
Add ASSERTs, improve documentation and the variety of tests for AlignRpcPtr/UndoAlignRpcPtr.
Based on comments by Serge Gautherie.
svn path=/trunk/; revision=74323
- Update to version 0.46e3 (and fix up the version numbers)
- Un-"fix" insignificant typo corrections that only serve to make syncing harder
CORE-13032 #resolve
CORE-11894 CORE-11277 CORE-12909
svn path=/trunk/; revision=74319
- In Wait_thread_proc, prioritize the cancel event over the wait object. This avoids executing the callback again after RtlDeregisterWait has been called.
Fixes ThemeStartCallback being called twice, causing a double free.
CORE-13074 #resolve
svn path=/trunk/; revision=74318
Insert a job into the start list when it is loaded or added. Remove it from the start list when it gets deleted. The start list is sorted by start time.
svn path=/trunk/; revision=74317
Calculate the next start time of a job and store it in the job object. DaysOfMonth and DaysOfWeek are not taken into account yet.
svn path=/trunk/; revision=74315
- Remove the ShellObjectCreator templates that allowed the caller to pass an arbitrary interface pointer. Leaving only the templates that take an void ** ppv parameter means that the callers are forced to use IID_PPV_ARG. This makes it less likely to have a pointer to an wrong interface.
- Fix the callers to always use IID_PPV_ARG.
- Rewrite the ShellObjectCreator templates to create the objects using the ATL CreateInstance thus allowing internal ATL methods to be called.
[BROWSEUI]
-Let CBandSite_CreateInstance take an additional parameter for the outer object since CBandSite is aggregatable. Create the object using the ATL creator class.
svn path=/trunk/; revision=74314
- Rename the settings structure to something more meaningful for using it for all taskbar related settings
- define some default settings
- check checkboxes with settings values in the properties window
- move saving the settings to an own function which will be implemented later
svn path=/trunk/; revision=74307
- Gracefully handle page faults during V86 code execution. This is a bit of a hack because with our limited use of V86 code it is unclear how a page fault can even occur.
CORE-12993 #resolve
svn path=/trunk/; revision=74305
- Make decoding of the error code more obvious in KiTrap0EHandler
- Avoid or make explicit some signed/unsigned conversions
svn path=/trunk/; revision=74304
Patch by Lesan Ilie:
- Avoid over-allocating the DEVICE_RELATIONS structure in HidClassPDO_CreatePDO
- Allocate device relations from paged pool
CORE-13052 #resolve
svn path=/trunk/; revision=74302
- Fix leaks in ExtractFile and avoid double frees from failure cases of AddFile. Patch by Serge Gautherie.
CORE-7307 #resolve
svn path=/trunk/; revision=74301
- Ensure null termination of the method name passed to AcpiEvaluateObject in Bus_PDO_EvalMethod. Spotted by ReactCoder.
CORE-13068 #resolve
svn path=/trunk/; revision=74300
Implement the undocumented AlignRpcPtr and UndoAlignRpcPtr functions used by many Rpc* functions in spoolsv according to traced callchains.
I could reverse engineer them entirely using rohitab.com's API Monitor and black-box testing.
I also add documented tests covering all cases I found out. We now pass 17/17 tests on Windows Server 2003 and ReactOS.
Also const-ify a parameter in PackStrings.
svn path=/trunk/; revision=74297
- Move device map code into a separate file.
- Create and inherit device maps instead of using a single global device map.
svn path=/trunk/; revision=74296
[SHELLMENU] -Remove second copy of CBandSite. It was originally added here to be tested in windows but now it is hosted in a proper static link.
svn path=/trunk/; revision=74293
- This will be linked to rshell in order to implement support for additional toolbars in the taskbar as well as floating toolbars.
- In the future more classes will be added in this static lib including: CISFBand (which implements a dockable toolbar that shows the contents of a shell folder), CQuickLinks (a special CISFBand), CDeskBarApp (a special CBaseBar that implements the floating host for toolbars) and perhaps more.
svn path=/trunk/; revision=74292
Addendum to r74263:
- Really only warn once in MmLockPageableDataSection/MmUnlockPageableImageSection, not on every 256th call
svn path=/trunk/; revision=74291
- This is based on the prototype I found in a sample app on codeproject. I don't really know what the unknown parameters are for but I haven't found anything yet passing different values. Almost all of the code is from the drawing code from uxtheme with the only difference that in uxtheme UXTHEME_DrawImageBackground reads several values from the theme but his takes them as parameters. I don't see any reason to spend time understanding what these are for. I found what the draw flags are for by passing different values in the test application and trying to replicate the parameters that UXTHEME_DrawImageBackground need. I decided to keep the naming like that since it is almost verbatim wine code. At some point it should be moved to win32k however.
CORE-4420
svn path=/trunk/; revision=74280