Engineered clean.
Built for 2026.
Every line hand-written. No frameworks. No bloat. Just Windows APIs, C++17, and 3 DLLs that each do one job perfectly.
How it fits together
HyperVBridge.dll
The core of the application. Wraps the entire Hyper-V WMI surface so the main EXE doesn't need to link WMI headers directly. Manages COM connection, proxy blanket security, and async state changes.
Key design decision: every exported function that calls s_pSvc calls SetupThreadCOM() first, ensuring the proxy blanket is valid on any thread that invokes it — fixing the 0x800401f0 error that occurs when worker threads call COM without initialising first.
FirmwareManager.dll
Manages the two firmware files stored in the firmware\ subfolder next to the EXE. Validates that each file exists and has a sane size (SeaBIOS ≥ 64 KB, OVMF ≥ 1 MB).
Used by the wizard to verify firmware before creating a VM, and can deploy (copy) firmware into a VM's working directory for per-VM isolation.
VMStorage.dll
Manages all on-disk VM data. Each VM gets its own folder inside the storage root (default: Documents\Cobvuz VMs\). Configs are stored as plain key=value .cvm files — human-readable and easy to back up.
The storage root is configurable in Settings. Changing it takes effect immediately — existing VMs in the new folder are discovered on next launch.