Name
VixVM_Delete
Description
VixHandle
VixVM_Delete(VixHandle vmHandle,
VixVMDeleteOptions deleteOptions,
VixEventProc *callbackProc,
void *clientData);
This function permanently deletes a virtual machine from your host system.
Parameters
- vmHandle
-
Identifies a virtual machine. Call VixVM_Open() to create a virtual machine handle.
- deleteOptions
-
For VMware Server 2.0 and ESX, this value must be VIX_VMDELETE_DISK_FILES.
For all other versions it can be either 0 or VIX_VMDELETE_DISK_FILES.
When option is VIX_VMDELETE_DISK_FILES, deletes all associated files.
When option is 0, does not delete *.vmdk virtual disk file(s).
- callbackProc
-
A callback function that will be invoked when the
operation is complete.
- clientData
-
A parameter that will be passed to the callbackProc function.
Return Value
VixHandle. A job handle that describes the state of this asynchronous call.
Remarks
- This function permanently deletes a virtual machine from your host system.
You can accomplish the same effect by deleting all virtual machine files
using the host file system. This function simplifies the task by deleting
all VMware files in a single function call. If a deleteOptions value of 0
is specified, the virtual disk (vmdk) files will not be deleted.
This function does not delete other user files in the virtual machine folder.
- This function is successful only if the virtual machine is powered off
or suspended.
- Deleting a virtual machine that is the parent of a linked clone renders
the linked clone useless.
- This function is asynchronous. It uses a job handle to report when it is
complete.
- Calling VixVM_Delete() on a virtual machine handle does not release the
virtual machine handle. You still need to call Vix_ReleaseHandle() on the
virtual machine handle.
Side Effects
None.
Requirements
vix.h, since VMware Server 1.0
Example
VixError err = VIX_OK;
VixHandle hostHandle = VIX_INVALID_HANDLE;
VixHandle jobHandle = VIX_INVALID_HANDLE;
VixHandle vmHandle = VIX_INVALID_HANDLE;
jobHandle = VixHost_Connect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_WORKSTATION,
NULL, // hostName
0, // hostPort
NULL, // userName
NULL, // password
0, // options
VIX_INVALID_HANDLE, // propertyListHandle
NULL, // callbackProc
NULL); // clientData
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_HANDLE,
&hostHandle,
VIX_PROPERTY_NONE);
if (VIX_OK != err) {
// Handle the error...
goto abort;
}
Vix_ReleaseHandle(jobHandle);
jobHandle = VixVM_Open(hostHandle,
"c:\\Virtual Machines\\vm1\\win2000.vmx",
NULL, // callbackProc
NULL); // clientData
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_HANDLE,
&vmHandle,
VIX_PROPERTY_NONE);
if (VIX_OK != err) {
// Handle the error...
goto abort;
}
jobHandle = VixVM_Delete(vmHandle, VIX_VMDELETE_DISK_FILES, NULL, NULL);
if (VIX_OK != err) {
// Handle the error...
goto abort;
}
Vix_ReleaseHandle(jobHandle);