Actually, Hyper-V can easily and at once expend a dynamic VDH Disk to a new max size. Its probably in VHD API. Hence, the GUI should allow a user to expend the VHD disk by dragging the handle.
It can be done. There's about 5 pixels of room to the right, so if you drag right and hold, it could just keep getting bigger (that is, the other partitions would seem to be getting smaller).
Its probably in VHD API.
I'm not using the VHD API If I used the VHD API, I'd be limited to the same features as the official Microsoft tools.
I only use the VHD API to mount a VHD. I used DeviceIoControl to implement the cluster view that is the precursor to a defragmentation, and have experimented a little reading the on-disk location(s) of individual files. These two steps are required before you can move the file to a new location. (You have to know where the free space is, and where all the bits of your file are.)
I'm not planning to get heavily into defragmentation, I just wanted to learn enough to see if I could move those pesky files or not.
P.S. The "trim" operation also works on Fixed VHDs. Although the word "works" maybe a mis-use of the term. It doesn't actually make a Fixed VHD file any shorter, it just alters it's footer to claim that it's shorter. So now you can have a 40 MB virtual disk with an 800 MB backing file. Maybe Wonko can hide his porn in there or something.
P.P.S. "vmToolkit" don't use the VHD API either, not in their VMDK converter, or their VHD resizer. They have their own DLLs for both formats.
P.P.P.S. We really need a wiki. I want to link or display topical advice at all points in VHDD, especially when it comes to things it can't do. Even the simplest things like "A list of all VHD manipulation and mounting tools" doesn't exist - and if does, it's likely to be out of date before long.