The following example illustrates how to obtain a list of virtual machine registered on the specified Parallels Service. The examples assumes that we've already obtain a handle of type PHT_SERVER (the hServer variable) identifying the Parallels Service.
hJob = PrlSrv_GetVmList( hServer ); PrlJob_Wait( hJob, 10000 ); PrlJob_GetResult( hJob, &hJobResult ); PrlHandle_Free( hJob ); PRL_UINT32 nIndex, nCount; // Get the number of the virtual machines // in the list. PrlResult_GetParamsCount( hJobResult, &nCount ); // Iterate through the list. for( nIndex = 0; nIndex < nCount ; nIndex++ ) { PRL_HANDLE hParam; PrlResult_GetParamByIndex( hJobResult, nIndex, &hParam ); PRL_CHAR sBuf[1024]; PRL_UINT32 nBufSize = sizeof( sBuf ); // Get virtual machine name. nRetCode = PrlVm_GetName( hParam, sBuf, &nBufSize ); if ( PRL_SUCCEEDED( nRetCode )) printf( "VM name: %s.\n", sBuf ); else fprintf( stderr, "PrlFoundVmInfo_GetName failed, error: %s. \n", PRL_RESULT_TO_STRING( nRetCode )); PrlHandle_Free( hParam ); } PrlHandle_Free( hJobResult );