Parallels Virtualization SDK
ContentsIndex
Example
PrlSrv_GetVmList Function

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 );
© 2021 Parallels International GmbH. All rights reserved.