Beispiel #1
0
PRL_RESULT LoginLocal(PRL_HANDLE &hServer) {

    PRL_HANDLE hJob, hJobResult = PRL_INVALID_HANDLE;
    PRL_RESULT err, nJobReturnCode = PRL_ERR_UNINITIALIZED;

    err = PrlApi_InitEx(PARALLELS_API_VER, PAM_DESKTOP, 0, 0);
    if (PRL_FAILED(err)) {
        fprintf(stderr, "PrlApi_InitEx returned with error: %s.\n", prl_result_to_string(err));
        PrlApi_Deinit();
        return err;
    }
    err = PrlSrv_Create(&hServer);
    if (PRL_FAILED(err)) {
        fprintf(stderr, "PrlSvr_Create failed, error: %s", prl_result_to_string(err));
        PrlApi_Deinit();
        return err;
    }
    hJob = PrlSrv_LoginLocal(hServer, NULL, NULL, PSL_NORMAL_SECURITY);
    err = PrlJob_Wait(hJob, 1000);
    if (PRL_FAILED(err)) {
        fprintf(stderr, "PrlJob_Wait for PrlSrv_Login returned with error: %s\n", prl_result_to_string(err));
        PrlHandle_Free(hJob);
        PrlHandle_Free(hServer);
        PrlApi_Deinit();
        return err;
    }
    err = PrlJob_GetRetCode(hJob, &nJobReturnCode);
    if (PRL_FAILED(err)) {
        fprintf(stderr, "PrlJob_GetRetCode returned with error: %s\n", prl_result_to_string(err));
        PrlHandle_Free(hJob);
        PrlHandle_Free(hServer);
        PrlApi_Deinit();
        return err;
    }
    if (PRL_FAILED(nJobReturnCode)) {
        PrlHandle_Free(hJob);
        PrlHandle_Free(hServer);
        fprintf(stderr, "Login job returned with error: %s\n", prl_result_to_string(nJobReturnCode));
        PrlHandle_Free(hJob);
        PrlHandle_Free(hServer);
        PrlApi_Deinit();
        return err;
    }
    return PRL_ERR_SUCCESS;
}
Beispiel #2
0
int main(int argc, char *argv[])
{
        QCoreApplication app(argc, argv);
        PrlVmUptimeTest test;

	PrlApi_InitEx(PARALLELS_API_VER, PAM_SERVER, 0, 0);

        QTest::qExec(&test, argc, argv);
	PrlApi_Deinit();
}