#include <stdio.h>
#include <stdlib.h>
#include "vix.h"
#pragma comment ( lib, "vix.lib" )
#define USE_WORKSTATION
#ifdef USE_WORKSTATION
#define CONNTYPE VIX_SERVICEPROVIDER_VMWARE_WORKSTATION
#define HOSTNAME ""
#define HOSTPORT 0
#define USERNAME ""
#define PASSWORD ""
#define VMPOWEROPTIONS VIX_VMPOWEROP_LAUNCH_GUI
int main()
{
VixError err;
char *vmxPath="D:\\xp\\Windows XP Professional.vmx";
VixHandle hostHandle = VIX_INVALID_HANDLE;
VixHandle jobHandle = VIX_INVALID_HANDLE;
VixHandle vmHandle = VIX_INVALID_HANDLE;
jobHandle = VixHost_Connect(VIX_API_VERSION,
CONNTYPE,
HOSTNAME, // *hostName,
HOSTPORT, // hostPort,
USERNAME, // *userName,
PASSWORD, // *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_FAILED(err)) {
goto abort;
}
Vix_ReleaseHandle(jobHandle);
jobHandle = VIX_INVALID_HANDLE;
jobHandle = VixVM_Open(hostHandle,
vmxPath,
NULL, // VixEventProc *callbackProc,
NULL); // void *clientData);
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_HANDLE,
&vmHandle,
VIX_PROPERTY_NONE);
if (VIX_FAILED(err)) {
goto abort;
}
Vix_ReleaseHandle(jobHandle);
jobHandle = VixVM_PowerOn(vmHandle,
VMPOWEROPTIONS,
VIX_INVALID_HANDLE,
NULL, // *callbackProc,
NULL); // *clientData);
err = VixJob_Wait(jobHandle, VIX_PROPERTY_NONE);
if (VIX_FAILED(err)) {
goto abort;
}
Vix_ReleaseHandle(jobHandle);
jobHandle = VixVM_PowerOff(vmHandle,
VIX_VMPOWEROP_NORMAL,
NULL, // *callbackProc,
NULL); // *clientData);
err = VixJob_Wait(jobHandle, VIX_PROPERTY_NONE);
if (VIX_FAILED(err)) {
goto abort;
}
abort:
Vix_ReleaseHandle(jobHandle);
Vix_ReleaseHandle(vmHandle);
VixHost_Disconnect(hostHandle);
return 0;
}
錯誤
VM\main.c|5|warning: ignoring #pragma comment |
VM\main.c|8|error: unterminated #ifdef|
||=== Build finished: 1 errors, 1 warnings ===|
uj5u.com熱心網友回復:
在線等。。。。。。。。。。。。。。。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/101566.html
標籤:虛擬化
上一篇:從AWS的EBS看云時代的塊存盤
