Name

VixVM_Suspend

Description

VixHandle
VixVM_Suspend(VixHandle vmHandle,
              VixVMPowerOpOptions powerOffOptions,
              VixEventProc *callbackProc,
              void *clientData);

This function suspends a virtual machine.

Parameters

vmHandle
Identifies a virtual machine. Call VixVM_Open() to create a virtual machine handle.
powerOffOptions
Should be 0.
callbackProc
A callback function that will be invoked when the power 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 operation.

Remarks

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_VI_SERVER,
                            "https://10.1.9.245/sdk", // hostName
                            0, // hostPort
                            "root", // userName
                            "secret", // 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,
                       "[storage1] vm/vm.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;
}
Vix_ReleaseHandle(jobHandle);

// Assume this virtual machine is already running.
jobHandle = VixVM_Suspend(vmHandle,
                           0, // powerOffOptions,
                           NULL, // callbackProc,
                           NULL); // clientData
err = VixJob_Wait(jobHandle,
                  VIX_PROPERTY_NONE);
abort:
   Vix_ReleaseHandle(jobHandle);
   Vix_ReleaseHandle(vmHandle);
   VixHost_Disconnect(hostHandle);

Copyright (C) 2007-2011 VMware, Inc. All rights reserved.