1 //go:build windows 2 3 package wclayer 4 5 import "github.com/Microsoft/go-winio/pkg/guid" 6 7 //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go wclayer.go 8 9 //sys activateLayer(info *driverInfo, id string) (hr error) = vmcompute.ActivateLayer? 10 //sys copyLayer(info *driverInfo, srcId string, dstId string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.CopyLayer? 11 //sys createLayer(info *driverInfo, id string, parent string) (hr error) = vmcompute.CreateLayer? 12 //sys createSandboxLayer(info *driverInfo, id string, parent uintptr, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.CreateSandboxLayer? 13 //sys expandSandboxSize(info *driverInfo, id string, size uint64) (hr error) = vmcompute.ExpandSandboxSize? 14 //sys deactivateLayer(info *driverInfo, id string) (hr error) = vmcompute.DeactivateLayer? 15 //sys destroyLayer(info *driverInfo, id string) (hr error) = vmcompute.DestroyLayer? 16 //sys exportLayer(info *driverInfo, id string, path string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.ExportLayer? 17 //sys getLayerMountPath(info *driverInfo, id string, length *uintptr, buffer *uint16) (hr error) = vmcompute.GetLayerMountPath? 18 //sys getBaseImages(buffer **uint16) (hr error) = vmcompute.GetBaseImages? 19 //sys importLayer(info *driverInfo, id string, path string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.ImportLayer? 20 //sys layerExists(info *driverInfo, id string, exists *uint32) (hr error) = vmcompute.LayerExists? 21 //sys nameToGuid(name string, guid *_guid) (hr error) = vmcompute.NameToGuid? 22 //sys prepareLayer(info *driverInfo, id string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.PrepareLayer? 23 //sys unprepareLayer(info *driverInfo, id string) (hr error) = vmcompute.UnprepareLayer? 24 //sys processBaseImage(path string) (hr error) = vmcompute.ProcessBaseImage? 25 //sys processUtilityImage(path string) (hr error) = vmcompute.ProcessUtilityImage? 26 27 //sys grantVmAccess(vmid string, filepath string) (hr error) = vmcompute.GrantVmAccess? 28 29 //sys openVirtualDisk(virtualStorageType *virtualStorageType, path string, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) [failretval != 0] = virtdisk.OpenVirtualDisk 30 //sys attachVirtualDisk(handle syscall.Handle, sd uintptr, flags uint32, providerFlags uint32, params uintptr, overlapped uintptr) (err error) [failretval != 0] = virtdisk.AttachVirtualDisk 31 32 //sys getDiskFreeSpaceEx(directoryName string, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) = GetDiskFreeSpaceExW 33 34 type _guid = guid.GUID 35