Create Child from Parent Disk

Usually you create the first child disk from the parent and create successive children from the latest one in the chain. The disk tracks, in SPARSE format, any disk sectors changed since inception, as illustrated below.

Figure 1. Child disks created from parent
child disks created from parent

VixDiskLib_CreateChild() creates a child disk (or redo log) for a hosted virtual disk. After you create a child, it is generally not necessary to open the parent, or earlier children in the disk chain. The children’s vm.vmdk files point to redo logs, not to the parent disk, vm-flat.vmdk in this example. To access the original parent, or earlier children in the chain, you can use VixDiskLib_Attach() on hosted disk.

vixError = VixDiskLib_CreateChild(parent.Handle(), appGlobals.diskPath, 
              VIXDISKLIB_DISK_MONOLITHIC_SPARSE, NULL, NULL);