- some fixes to get ntoskrnl to build with -Wcast-qual and -Wsign-compare
- don't touch any memory outside the given range in ProbeForWrite and touch all pages within the range
svn path=/trunk/; revision=19748
- Fix some w32api incompatibility cruft since w32api insists on including winnt.h from kernel-mode.
- Fix some stuff that was including both kernel-mode and user-mode headers together.
- Use PISECURITY_DESCRIPTOR, not PSECURITY_DESCRIPTOR.
svn path=/trunk/; revision=19726
- Make the NDK smarter so that using #define NTOS_MODE_USER isn't needed anymore: the NDK can now auto-detect the presence of windows.h or ntddk.h and make the appropriate decision.
- re-arrange ntndk.h to include all types in alphabetical order, and then all functions, regardless of um/kmode usage.
- Make each file auto-detect if this is NTOS_MODE_USER or not and include each files it needs, instead of depending on a predefined order inside ntndk.h This way, any file can be included from both user-mode or kmode as simply as #include <iofuncs.h>, wthout any adtional work.
- Update FIXME list with these changes and delay NDK release date since my trip is lasting a day longer.
- Fix ntsecapi.h to define UNICODE_STRING, like it does in the PSDK.
- Fix apps including ntsecapi + winternl.h These two cause a conflict even on PSDK and shouldn't be included together.
- Make winlogon include only the NDK files it needs (2) instead of the whole NDK, as test for this faster newly supported method.
- Remove some NDK apps from the FIXME list (the ones that weren't being built/are on my rewrite branch/are better off including the whole NDK instead of file-by-file).
- Update debug.h to define RtlAssert and DbgPrint in case the NDK or DDK aren't already included, which will allow some of the apps to stop using the NDK solely for DPRINT/DPRINT1. Diabled for now since a lot of code needs to be changed to #include <debug.h> *After* they include the other headers. (so that the anti-double-definition check can work).
svn path=/trunk/; revision=19538
- Remove FASTCALL define from windef.h and add it to winddk.h
- Move EXCEPTION_ defines to crt/except.h
- Remove public GUIDs from sysguid.h and move from NDK to public umpnpmgr lib headers (since no other component but it + kernel uses them)
- Make include/ndk an include path. The NDK is now used like the DDK, so including ndk/foo.h should be replaced by include foo.h just like for PSDK or DDK.
- Don't include misc.h in usermode.
- Protect some stuff in helper.h against multiple definitions.
- Sync with NDK 1.00 Beta 1 to prepare for public NDK release.
svn path=/trunk/; revision=19450
Jacek Caban <[email protected]>
- Added IInternetPriority implementation to FileProtocol.
- Report BINDSTATUS_SENDINGREQUEST in FileProtocol::Start.
- Added implementation of IInternetPriority in HttpProtocol.
svn path=/trunk/; revision=19367
Michael Jung <[email protected]>
- Support for shell instance objects.
Removed a wine_todo for a no longer failing test.
Added a test for IPersistFolder3::GetCurFolder.
- Added initial tests for shdocvw's FolderShortcut related
functionality.
- Only return SHDOCVW_ClassFactory if asked for CLSID_WebBrowser.
svn path=/trunk/; revision=19363
- Michael Jung <[email protected]>
Set all capability flags supported by the shellfolder, disregarding
the flag mask given to GetAttributesOf.
Unit tests to demonstrate this behaviour.
Michael Jung <[email protected]>
- Added some comments to document unixfs.
- Fixed crash in unixfs shellfolder handling with winamp.
- Implemented UnixFolder's IPersistPropertyBag::Load method.
- Initialize COM prior to displaying the SHBrowseForFolder dialog.
- More robust code for querying ShellFolder attributes (some
ShellFolders ignore the flag mask in GetAttributesOf).
- Remove iconcache pre-initialization hack, it's not necessary any
more.
- Move target folder initialization to a dedicated function.
- Use this function in BindToObject (should be faster).
- Special handling for FolderShortcut objects in Initialize method.
- Removed a todo_wine from a no longer failing unit test.
- Replaced tabs with spaces.
Robert Shearman <[email protected]>
- Convert SHELL32_BindToChild to Unicode and fix up the callers.
Vincent Bén <[email protected]>
- Unicodify systray.c.
- Move functions a bit to get rid of a static declaration.
Dmitry Timoshkov <[email protected]>
- Correctly handle flags parameter in SHAddToRecentDocs.
Martin Fuchs <[email protected]>
- Correct WINAPI position for MSVC portability.
Mike McCormack <[email protected]>
- Partially implement and test the shelllink object's
IShellLinkDataList::CopyDataBlock and GetFlags methods.
- Use advapi32.CommandLineFromMsiDescriptor to get msi component paths.
- Pass the correct verb.
Add a space between extra parameters.
Wait for ShellExecute to complete.
- Handle MSI advertised shortcuts in the shelllink object.
- Implement IContextMenu::QueryContextMenu and
IContextMenu::InvokeCommand.
- Add the IObjectWithSite interface.
- Invoke shortcuts through IContextMenu, rather than trying to access
them directly.
- Fix a problem spotted by Dmitry and another one stopping correctly
formatted lnk files from being generated.
svn path=/trunk/; revision=19356
- Implement ExEnterCriticalRegionAndAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafeAndLeaveCriticalRegion.
- Make win32k use those two new functions so that it can continue running at PASSIVE_LEVEL.
- Remove CcBrokenMutex and use the new APIs instead.
- Implement and export ntoskrnl version of Fast Mutex
- Update headers for new fast-mutex definition and API exports.
- Fix RemoveEntryList in NDK.
- Add exfuncs.h to NDK.
- Fix path in mmtypes.h in NDK to be compatible to how it shoudl be included.
svn path=/trunk/; revision=19352
- fix code that incorrectly includes headers for status codes (changes to files shared with wine will be submitted to winehq)
- fix wine SEH macros and support code, these changes should enable us to port crypt32.dll (and maybe other libraries) without modifications
svn path=/trunk/; revision=19334
Huw Davies <[email protected]>
- Treat paramflags == 0 like PARAMFLAG_FIN.
- Don't call Release on a null ptr.
- Deal with pExcepInfo == NULL.
Robert Shearman <[email protected]>
- Add IFontEventsDisp and IProvideMultipleClassInfo.
- Make sure to clean up properly on error.
- Restrict the critical section to getting the channel buffer and
adding a reference to it.
- There is no need to call IUnknown_QueryInterface since getting the
correct object is handled by the proxy manager.
- Forward IDispatch functions to the MIDL-generated proxy.
- Remove special cases caused by previous marshaling of IDispatch &
IUnknown that is no longer done.
- Add error messages if an IUnknown or IDispatch method is called when
it no longer should be.
- Cleanup formating of DispCallFunc.
- Fix DispCallFunc for functions with return values.
- Don't rely on _copy_arg as it is going away soon.
- Make wParamFlags in the paramdesc dumping function human readable.
- Enums should be VT_I4 instead of VT_INT.
- Trace the return value from the ITypeInfo_fnInvoke.
- Read DLL name from modules in MSFT typelibs.
- A name offset of -1 for a parameter means that it has the same name
as the function.
- Print an error if a ReadName is attempted with an offset of -1,
since this will read garbage.
- Implement ITypeInfo_GetDllEntry.
- Fix a crash during +variant logging caused by a typo causing an array
to be one element less than expected.
- The PSDispatch PS class factory can manage both typelib marshalled and
IDispatch, which is NDR marshalled, so we need a wrapper to call the
appropriate CreateProxy or CreateStub function.
Alex Villacís Lasso <[email protected]>
- Implement complete VarDecDiv() for any valid DECIMAL.
- Implement complete VarDecMul() for any valid DECIMAL.
- Implement complete VarBstrFromDec() for any valid DECIMAL, with
internationalization support borrowed from VARIANT_BstrFromReal(). The
decimal fix for VARIANT_BstrFromReal was encapsulated in a separate
function and reused.
Michael Stefaniuc <[email protected]>
- Handle VT_DECIMAL in VarCmp().
- Handle VT_CY in VarDiv().
Uwe Bonnes <[email protected]>
- Extend VarCmp() and add test cases.
Marcus Meissner <[email protected]>
- Added support of loading of IPicture data from non-statable
IStreams. Added testcases for this.
- Added support for VT_I8/VT_UI8 marshalling.
- Fixed FMT_DATE_GENERAL and FMT_DATE_TIME_SYS cases in
VARIANT_FormatDate.
svn path=/trunk/; revision=19313
Ivan Leo Puoti <[email protected]>
- Fix some wrong prototypes.
Thomas Weidenmueller <[email protected]>
- Passing NULL as the last two parameters to ReadFile is illegal and
actually causes a crash on windows. The attached patch fixes this.
Aric Stewart <[email protected]>
- Force files to install if the REINSTALL property is set.
Mike McCormack <[email protected]>
- Some installers don't call the CreateFolders action before the
InstallFiles action as MSDN specifies, but it still seems to work, so
make sure that we create component directories in the InstallFiles
action anyway.
- Create component folders in the CreateFolders action.
- If an action fails, print out its name as well as the error code. Use
%d for error codes so it's easy to match them up to something in
winerror.h.
- Rename load_dynamic_stringW to msi_dup_record_field to better describe
what it does, and replace a few instances with MSI_RecordGetString to
avoid allocating memory.
- Tidy up the RegisterProduct action a little.
- Create a stub function to apply a single table transform and call it
where we need to apply transforms.
- Enumerate the substorage transforms for any patches that are passed on
the command line with PATCH=. Need to implement
table_apply_transform() before this will do anything interesting.
- Simplify register_progid() and remove a fixed length buffer.
- Make enter and escape trigger the default and cancel buttons in
dialogs.
- Switch back to using IPicture to load images. LoadImage did the
resizing for us, but doesn't handle jpeg files and requires us writing
a temp file, whereas IPicture handles jpeg files and can load directly
from a stream.
- Remove unused package parameter of register_progid_base().
- Remove an incorrect comment and check for 0 being an invalid file
handle.
- Add missing semicolons that caused compile trouble on FreeBSD.
- Extract file directly to their target location, bypassing the need to
use temporary files and move files.
- Put the UI update code for cabinet file into a separate function.
- Translate INVALID_HANDLE_VALUE to zero for cabinet handles.
- Fix a memory leak in the cabinet extracting code.
- Fix passing of NULL pointers to MsiDecomposeDescriptor and add a
test.
- Fix parameter handling in MsiSetTargetPath, and add a test for it.
- Deleted two buggy functions that incorrectly and inefficiently check
whether a row already exists in a table, and replaced them with a call
to an existing working function that does the same thing correctly.
- Fix and test MsiGetProperty and MsiSetProperty.
- Add a stub implementation of msi.MsiSetMode.
- NULL and empty strings are the same in conditions.
- Add a bunch of tests for MsiEvaluateCondition and make them pass.
- Fix error handling in MsiEvaluateCondition.
- Create the +msidb debug channel for msi database code.
- Implement transforms. This still includes some debugging code which
can be enabled by setting debug_transform to 1 in the relevant
places.
- Define NONAMELESSUNION and NONAMELESSSTRUCT for older compilers.
- Remove some redundant null pointer checks.
- Make sure to unregister all the classes that were registered when msi
is unloaded, so we can register again cleanly.
- Fix a memory leak.
- Implement the RemoveFiles action.
- Add a read-only implementation of the SelectionTree control.
- Make sure we only CoUninitialize after successfully initializing.
Fix the address of the returned IShellLinkDataList interface.
- Use an enumeration for file states.
- Handle MaskEdit masks containing dashes and other constant
characters.
- Stub implementation for MsiAdvertiseScriptA/W.
- Add a stub for the AllocateRegistrySpace action.
- Explicitly check for MSICONDITION_TRUE being returned from
MsiEvaluateCondition.
- Stub implementation for MsiGetFileHashA/W.
- Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine.
- Improve MsiUseFeatureEx and MsiGetFeatureState a little, add some
simple test cases.
- Use msi_get_property_int() in a few more places.
- Implement MsiGetFeatureUsageA and MsiUseFeature(Ex)A using their W
versions.
- Use "static const" rather than "const static" as gcc -W complains
about the former.
- Add an implementation for MsiGetShortcutTargetA/W.
- Don't change the UI level during ExecuteAction.
- Return an error in MsiGetComponentPathW if passed a null component.
- Remove the unused 1st parameter of ACTION_VerifyComponentForAction.
- Fix MsiGetPropertyA/W spec declarations.
- Create an internal handle-free api for reading MSI database summary
information.
svn path=/trunk/; revision=19307
- pciidex: Better test to see if the PCI controller is in compatible or native mode before getting channel resources
- pciidex: Change IDE_DRIVE_IDENTIFY structure to IDENTIFY_DATA structure
- pciide: Implement PciIdeUseDma
- pciide: Tell that channel state is unknown instead of enabled
svn path=/trunk/; revision=19092
- BindImage & friends refactoring of my original code. Fixed two or three dozen bugs, stopped making assumptions about everything, actually checked for failure, used dynamic allocation instead of 32 static structures, fixed a lot of broken code, fixed some helper functions, made the code as 64-bit compatible as I could (checked with msvc WP64 + prefast).
- Remove internal.c and use NDK instead
- Remove debug.c and symbol.c like WINE have done
- Rewrite the entire exports file to update it for XP. Forward almost all the functions to dbghelp, like WINE have done (note: windows DLL used delayed imports instead).
- Cleanup source to add implemented/unimplemented tags, source header, and precompiled header.
- Sync with latest code from WINE.
Tested with Quicken 2004 & its patches (which make extensive use of BindImage) as well as random bindings of some applications on my disk. Worked perfectly in Windows.
svn path=/trunk/; revision=19025
- Fix strange/incorrect hack which disabled DPRINT in msvc
- Move UNIMPLEMENTED to the proper DBG block
- Fix rtltypes.h compatibility with the PSDK/DDK
I hope this doesn't break anything, my tree is quite off-sync.
svn path=/trunk/; revision=19009
Pierre d'Herbemont <[email protected]>
- Allow compilation on non-i386.
Huw Davies <[email protected]>
- When a dispinterface isn't dual, we should return
TYPE_E_ELEMENTNOTFOUND when trying to get index -1.
- Proxies and stubs for GetTypeInfoCont, GetLibAttr and ReleaseLibAttr.
- Implement GetContainingTypelib_{Proxy,Stub}.
svn path=/trunk/; revision=18954