I TRIED THIS
Code:
Private Declare Function OpenVirtualDisk Lib "VirtDisk" (ByRef VirtualStorageType As PVirtualStorageType, ByVal Path As String, ByVal VirtualDiskAccessMask As Long, ByVal Flags As Long, ByVal Parameters As Long, ByVal Handle As Long) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
Private Type PVirtualStorageType
DeviceId As Long
VendorId As GUID
End Type
Const VIRTUAL_STORAGE_TYPE_DEVICE_UNKNOWN = 0
Const VIRTUAL_STORAGE_TYPE_DEVICE_ISO = 1
Const VIRTUAL_STORAGE_TYPE_DEVICE_VHD = 2
Const VIRTUAL_STORAGE_TYPE_DEVICE_VHDX = 3
Const VIRTUAL_DISK_ACCESS_NONE = &H0
Const VIRTUAL_DISK_ACCESS_ATTACH_RO = &H10000
Const VIRTUAL_DISK_ACCESS_ATTACH_RW = &H20000
Const VIRTUAL_DISK_ACCESS_DETACH = &H40000
Const VIRTUAL_DISK_ACCESS_GET_INFO = &H80000
Const VIRTUAL_DISK_ACCESS_CREATE = &H100000
Const VIRTUAL_DISK_ACCESS_METAOPS = &H200000
Const VIRTUAL_DISK_ACCESS_READ = &HD0000
Const VIRTUAL_DISK_ACCESS_ALL = &H3F0000
Const VIRTUAL_DISK_ACCESS_WRITABLE = &H320000
Const OPEN_VIRTUAL_DISK_FLAG_NONE = &H0
Const OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS = &H1
Const OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE = &H2
Const OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE = &H4
Const OPEN_VIRTUAL_DISK_FLAG_CACHED_IO = &H8
Const OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN = &H10
Private Sub Form_Load()
Dim vst As PVirtualStorageType, hnd As Long
vst.DeviceId = VIRTUAL_STORAGE_TYPE_DEVICE_VHD
w = OpenVirtualDisk(vst, "E:\1.vhd", VIRTUAL_DISK_ACCESS_ATTACH_RW, OPEN_VIRTUAL_DISK_FLAG_CACHED_IO, 0&, hnd)
BUT I GOT ERROR 87 ERROR_INVALID_PARAMETER
ANY HELP PLEASE?