Name
VixHost_RegisterVM
Description
VixHandle
VixHost_RegisterVM(VixHandle hostHandle,
const char *vmxFilePath,
VixEventProc *callbackProc,
void *clientData);
This
function
adds a virtual machine to the host's inventory.
Parameters
- hostHandle
-
The host handle returned by VixHost_Connect().
- vmxFilePath
-
The path name of the .vmx file on the host.
- callbackProc
-
A function to be invoked when VixHost_RegisterVM()
completes.
- clientData
-
A user-supplied parameter to be passed to the
callback function.
Return Value
VixHandle. A job handle that describes the state of this asynchronous call.
Remarks
- This
function
registers the virtual machine identified by vmxFilePathName, which is
a storage path to the configuration file (.vmx) for that virtual machine.
You can register a virtual machine regardless of its power state.
- The format of the path name depends on the host operating system.
If the path name includes backslash characters,
you need to precede each one with an escape character.
Path to storage [standard] or [storage1] may vary.
- For VMware Server 1.x, supply the full path name instead of storage path,
and specify VIX_SERVICEPROVIDER_VMWARE_SERVER to connect.
- This
function
does not apply to Workstation, which has no virtual machine
inventory.
- This function is asynchronous. Completion is reported by a job handle.
- It is not a Vix error to register an already-registered virtual machine,
although the VMware Server UI shows an error icon in the Task pane.
Trying to register a non-existent virtual machine results in error 2000,
VIX_E_NOT_FOUND.
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;
// Connect to the local host:
jobHandle = VixHost_Connect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_VI_SERVER,
"https://viserver/sdk", // hostName
0, // hostPort
"root", // userName
"rootpasswd", // 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;
}
// Release handle when done:
Vix_ReleaseHandle(jobHandle);
// Register the virtual machine:
jobHandle = VixHost_RegisterVM(hostHandle,
// "[storage1] RedHatLinux/RedHatLinux.vmx"
"[standard] Windows XP\\Windows XP.vmx",
NULL, // callbackProc
NULL); // clientData
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_NONE);
if (VIX_OK != err) {
// Handle the error...
goto abort;
}
// Release handle when done:
Vix_ReleaseHandle(jobHandle);