The VixDiskLib_Init() and
VixDiskLib_Connect() functions must appear in all virtual disk programs.
VixDiskLib_Init() initializes the old virtual disk library. The arguments
majorVersion and
minorVersion represent the VDDK library’s release number and dot-release number. The optional third, fourth, and fifth arguments specify log, warning, and panic handlers. DLLs and shared objects may be located in
libDir.
You should call VixDiskLib_Init() only once per process because of internationalization restrictions, at the beginning of your program. You should call
VixDiskLib_Exit() at the end of your program for cleanup. For multithreaded programs you should write your own
logFunc because the default function is not thread safe.
In most cases you should replace VixDiskLib_Init() with
VixDiskLib_InitEx(), which allows you to specify a configuration file. For information about
InitEx, see
Initialize Virtual Disk API.
VixDiskLib_Connect() connects the library to either a local VMware host or a remote server. For hosted disk on the local system, provide null values for most connection parameters. For managed disk on vSphere, specify virtual machine name, vCenter Server or ESXi host, user name, password, and port number.
Always call VixDiskLib_Disconnect() before the end of your program.
Calling vixDiskLib_Disconnect() invalidates any open file handles, so if you use the VixMntapi library, call
VixMntApi_CloseDiskSet() before calling disconnect.
You can opt to use the VixDiskLibSSPICreds connection parameter to enable Security Support Provider Interface (SSPI) authentication. SSPI has the advantage of not storing plain text passwords in configuration files or in the registry. In order to be able to use SSPI, the following conditions must be met:
If your setup meets all these conditions, you can enable SSPI authentication by setting USERNAME to
__sspi__. For SSPI, the password must be set, but it is ignored. It can be set to
"" (null string).
On VMware platform products, .vmx is a text file (usually located in the same directory as virtual disk files) specifying virtual machine configuration. The Virtual Machine eXecutable (VMX) process is the user-space component (or “world”) of a virtual machine. The virtual disk library connects to virtual machine storage through the VMX process.
The moRef of a virtual machine or disk snapshot on an ESXi host is likely different than the
moRef of the same virtual machine or disk snapshot as managed by vCenter Server. Here are two example
moRef specifications, one for ESXi and one for vCenter Server, both referring to the same snapshot: