Virtual Disk Library Functions

Virtual Disk Library Functions

Virtual Disk Library Functions

You can find the VixDiskLib API Reference by using a Web browser to open the doc/index.html file in the VDDK software distribution. As in most reference manuals, functions are organized alphabetically, whereas in this chapter, functions are ordered by how they might be called.
When the API reference says that a function supports “only hosted disks,” it means virtual disk images hosted by VMware Workstation or similar products. Virtual disk stored on VMFS partitions managed by ESXi or vCenter Server is called “managed disk.”
The functions described in this chapter are based on concepts and employ data structures documented in Virtual Disk Interfaces.
If the library accesses virtual disk on VMFS, I/O by default goes through the ESXi host, which manages physical disk storage. To use function calls that provide direct access to SAN storage, start your program by calling the VixDiskLib_ConnectEx() function, as described in Advanced Transport APIs.

Alphabetic Table of Functions

Function calls in the Virtual Disk API are listed alphabetically in Virtual Disk API Functions.
Virtual Disk API Functions
Function
Description
VixDiskLib_Attach
Attaches the child disk chain to the parent disk chain.
VixDiskLib_Cleanup
Removes leftover transports. See Clean Up After Disconnect.
VixDiskLib_Clone
Copies virtual disk to some destination, converting formats as appropriate.
VixDiskLib_Close
Closes an open virtual disk. See Close a Local or Remote Disk.
VixDiskLib_Connect
Connects to the virtual disk library to obtain services. See also ConnectEx.
VixDiskLib_ConnectEx
Connects to optimum transport. See Connect to VMware vSphere
VixDiskLib_Create
Creates a virtual disk according to specified parameters.
VixDiskLib_CreateChild
Creates a child disk (redo log or delta link) for a hosted virtual disk.
VixDiskLib_Defragment
Defragments the sectors of a virtual disk.
VixDiskLib_Disconnect
Disconnects from the library. See Disconnect from Server.
VixDiskLib_EndAccess
Notifies a host that it may again relocate a virtual machine. See Prepare For Access and End Access.
VixDiskLib_Exit
Releases all resources held by the library. See Clean Up and Exit.
VixDiskLib_FreeErrorText
Frees the message buffer allocated by GetErrorText.
VixDiskLib_FreeInfo
Frees the memory allocated by GetInfo.
VixDiskLib_GetErrorText
Returns the text description of a library error code.
VixDiskLib_GetInfo
Retrieves information about a virtual disk.
VixDiskLib_GetMetadataKeys
Retrieves all keys in the metadata of a virtual disk.
VixDiskLib_GetTransportMode
Gets current transport mode. See Get Selected Transport Method.
VixDiskLib_Grow
Increases size of an existing virtual disk.
VixDiskLib_Init
Initializes the old virtual disk library. Replaced by InitEx function.
VixDiskLib_InitEx
Initializes new virtual disk library. See Initialize Virtual Disk API.
VixDiskLib_ListTransportModes
Available transport modes. See List Available Transport Methods.
VixDiskLib_Open
Opens a virtual disk. See Open a Local or Remote Disk.
VixDiskLib_PrepareForAccess
Notifies a host to refrain from relocating a virtual machine. See Prepare For Access and End Access.
VixDiskLib_Read
Reads from an open virtual disk. See Read Sectors From a Disk.
VixDiskLib_ReadMetadata
Retrieves the value of a given key from disk metadata.
VixDiskLib_Rename
Changes the name of a virtual disk.
VixDiskLib_Shrink
Reclaims blocks of zeroes from the virtual disk.
VixDiskLib_SpaceNeededForClone
Computes the space required to clone a virtual disk, in bytes.
VixDiskLib_Unlink
Deletes the specified virtual disk.
VixDiskLib_Write
Writes to an open virtual disk. See Write Sectors To a Disk.
VixDiskLib_WriteMetadata
Updates virtual disk metadata with the given key/value pair.