Skip to content

AttachVhd not actually attach disk without AttachVirtualDiskFlagPermanentLifetime #329

@hulucc

Description

@hulucc

With the AttachVirtualDiskFlagNone, AttachVirtualDisk won't actually attach disk. Use AttachVirtualDiskFlagPermanentLifetime works fine

func AttachVhd(path string) (err error) {
	handle, err := OpenVirtualDisk(
		path,
		VirtualDiskAccessNone,
		OpenVirtualDiskFlagCachedIO|OpenVirtualDiskFlagIgnoreRelativeParentLocator,
	)
	if err != nil {
		return err
	}

	defer syscall.CloseHandle(handle) //nolint:errcheck
	params := AttachVirtualDiskParameters{Version: 2}
	if err := AttachVirtualDisk(
		handle,
		AttachVirtualDiskFlagNone,
		&params,
	); err != nil {
		return fmt.Errorf("failed to attach virtual disk: %w", err)
	}
	return nil
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions