Name
VMWaitForToolsInGuest
Description
$err = VMWaitForToolsInGuest($vmHandle,
$timeoutInSeconds);
This function
returns
when VMware Tools has successfully started
in the guest operating system. VMware Tools is a collection of services
that run in the guest.
Parameters
- vmHandle
-
Identifies a virtual machine. Call VMOpen() to create a virtual machine handle.
- timeoutInSeconds
-
The timeout in seconds. If VMware Tools has not started
by this time, the operation completes with an error.
If the value of this argument is zero or negative, then
this operation will wait indefinitely until the
VMware Tools start running in the guest operating
system.
Return Value
$err. The error code returned by the operation. For returned values, see Topics > Error Codes.
Remarks
- This function
returns
when VMware Tools has successfully started
in the guest operating system. VMware Tools is a collection of services
that run in the guest.
- VMware Tools must be installed and running for some Vix functions to operate
correctly. If VMware Tools is not installed in the guest operating system,
or if the virtual machine is not powered on, this function reports an error
to the job object.
- The VIX_PROPERTY_VM_TOOLS_STATE property of the virtual machine handle is
undefined until
VMWaitForToolsInGuest()
reports that VMware Tools is running.
- This function should be called after calling any function that resets
or reboots the state of the guest operating system, but before calling any
functions that require VMware Tools to be running. Doing so assures
that VMware Tools are once again up and running. Functions that reset
the guest operating system in this way include:
- VMPowerOn
- VMReset
- VMRevertToSnapshot
Side Effects
None.
Requirements
use VMware::Vix::Simple;
use VMware::Vix::API::Constants;
since VMware Server 1.0
Minimum Supported Guest OS: Microsoft Windows NT Series, Linux
Example
my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = VIX_INVALID_HANDLE;
($err, $hostHandle) = HostConnect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_WORKSTATION,
undef, # hostName
0, # hostPort
undef, # userName
undef, # password
0, # options
VIX_INVALID_HANDLE); # propertyListHandle
die "HostConnect() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
($err, $vmHandle) = VMOpen($hostHandle,
"c:\\Virtual Machines\\vm1\\win2000.vmx");
die "VMOpen() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
$err = VMPowerOn($vmHandle,
0, # powerOnOptions
VIX_INVALID_HANDLE); # propertyListHandle
die "VMPowerOn() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
$err = VMWaitForToolsInGuest($vmHandle,
300); # timeoutInSeconds
die "VMWaitForToolsInGuest() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
ReleaseHandle($vmHandle);
HostDisconnect($hostHandle);