- Make our isohybrid create an MBR with partition type 0x96.
This properly assigns a drive letter to the Live-CD and lets me boot into desktop using "qemu -hda livecd.iso".
Fixes CORE-13184
svn path=/trunk/; revision=75586
Implicitly it was already returning a pointer, which was then referenced using a "." instead of "->", giving the impression we were working on the returned object instead of the original data. - Convert some macros to inline functions
svn path=/trunk/; revision=75580
Register CDFS as a disk filesystem too in order to flash our ISOs directly to USB drives and boot from them. Also fix some DPRINTs in the course of that.
One step closer towards CORE-13184: This gets qemu -hda bootcd.iso to work.
What still doesn't work is qemu -hda livecd.iso and booting from a flashed USB drive on real hardware.
Further changes are also required in fs_rec, but this code isn't ready yet and doesn't seem to be the current blocker either.
Credits go to the entire Hackfest Team for helping on this!!
svn path=/trunk/; revision=75579
- Implement CMP_GetBlockedDriverInfo.
- Make sure that CMP_GetServerSideDeviceInstallFlags and CMP_WaitServicesAvailable can be called on local and remote machines.
svn path=/trunk/; revision=75565
Lower MAX_DISKREADBUFFER_SIZE to let INT 13h, AH=42h only read a maximum of 127 sectors (instead of 128 previously).
This fixes USB booting into the kernel on at least Dell Latitude D531 and Lenovo ThinkPad X61.
Now CORE-13184 remains (in a VM and on real hardware, probably related to the CDFS driver)
svn path=/trunk/; revision=75564
- Shims are not allowed on files from System32 / WinSxs.
- Individual shims can override this per module with includes/excludes.
- Shims can specify additional dlls to ignore or include.
- Specify a default list of dlls to be included from system32.
CORE-13618
svn path=/trunk/; revision=75541
- CDefaultContextMenu: Make it respect the IContextMenu interface and expect menu id offsets instead of real menu ids and actually use the idCmdFirst and idCmdLast parameters in QueryContextMenu. Make the default part use and existed menu from the resources but changed accordingly so the ids of its elements can be adjusted to the next free id of the constructed menu. Rename InsertMenuItemsOfDynamicContextMenuExtension to AddShellExtensionsToMenu, DoDynamicShellExtensions to InvokeShellExt, and DoStaticShellExtensions to InvokeRegVerb. Make AddShellExtensionsToMenu and AddStaticContextMenusToMenu behave like QueryContextMenu to return the number of ids they occupy. Add two helpers SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the id that is contained in the lparam of WM_DRAWITEM and WM_MEASUREITEM before forwarding them.
- CDefView: When calling QueryContextMenu before using TrackPopupMenu, use 1 as the first id that will filled by the IContextMenu because we want 0 to be used as an indicator that the menu was canceled. Use SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the lparam of the messages forwarded to the IContextMenu accordingly.
- CDefViewBckgrndMenu: Add a hack so as to keep the code as simple as possible while respecting idCmdFirst and idCmdLast.
- CNewMenu: Remove a hack that was needed because WM_DRAWITEM didn't come with the menu id offset but with the real menu id.
- CDesktopFolder, CFSFolder: Make the callbacks avoid adding an extra separators.
After that shell extensions in menus should work better and callbacks to shell folders should really be able to add several menu items.
svn path=/trunk/; revision=75533
Keyboard devices must have an upperfilter (kdbclass) to work correctly. Detect these
devices using the Keyboard GUID class instead of using the inf section name.
svn path=/trunk/; revision=75532
[EVENTLOG]: Use the previous functionality; use also the internal LogfpAlloc() / LogfpFree() functions when dealing with buffers related to event log files.
svn path=/trunk/; revision=75527