Compartilhar via


IDeviceEmulatorManager

Essa interface representa o dispositivo Emulator Manager.O objeto é usado para controlar a janela Gerenciador de emulador de dispositivos e percorrer sistema autônomo nós de nível de raiz no Device Emulator Manager (DEM), sistema autônomo Armazenamento de dados, Meus emuladores de dispositivo, Todos sistema autônomo emuladores de dispositivo, and Outras pessoas.

interface IDeviceEmulatorManager : IDispatch ();

Métodos

Método

Descrição

IDeviceEmulatorManager::EnumerateSDKs

Enumera as plataformas do nó corrente.

IDeviceEmulatorManager::ShowManagerUI

Mostra ou oculta o Gerenciador de emulador de dispositivo janela

IDeviceEmulatorManager::MoveNext

Move para o próximo nó.

IDeviceEmulatorManager::reiniciar

Transfere de volta para o primeiro nó, geralmente Armazenamento de dados.

IDeviceEmulatorManager::Refresh

Atualiza a enumeração por re-reading as informações a partir de Armazenamento de dados.

IDeviceEmulatorManager::get_Name

Obtém o nome do nó corrente, sistema autônomo Armazenamento de dados, Meus emuladores de dispositivo, Todos sistema autônomo emuladores de dispositivo, or Outras pessoas.

IDeviceEmulatorManager::RegisterRefreshEvent

Registra o evento de atualização do dispositivo Emulator Manager.

IDeviceEmulatorManager::UnRegisterRefreshEvent

Cancela o inscrição de evento de atualização.

Comentários

Para criar um objeto que implementa essa interface, use CoCreateInstance.

Um objeto que implementa essa interface é uma lista vinculada contém todos os nós de nível de raiz na janela DEM.

Exemplo

Este exemplo lista os nós, SDKs/plataformas e emuladores no Gerenciador de emulador de dispositivo janela.

int _tmain(int argc, _TCHAR* argv[])
{
    if (SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))
    {
        // HRESULT is used to determine whether method calls are successful
        HRESULT hr;

        // Instantiate DeviceEmulatorManager (DEM) object.
        // This starts DvcEmuManager.exe in silent mode

        CComPtr<IDeviceEmulatorManager> pDeviceEmulatorManager;
        hr = pDeviceEmulatorManager.CoCreateInstance(__uuidof(DeviceEmulatorManager));
        if (FAILED(hr)) {
            wprintf_s(L"Error: Unable to instantiate DeviceEmulatorManager. ErrorCode=0x%08X\n", hr);
            return false;
        }

        // For each of the four nodes in the Device Emulator Manager window
        // (Datastore, My Device Emulators, All Device Emulators, and Others)  
        for (; SUCCEEDED(hr); (hr = pDeviceEmulatorManager->MoveNext()))
        {
            // Output the name of node
            CComBSTR node;
            hr = pDeviceEmulatorManager->get_Name(&node);
            if (FAILED(hr)) {
                wprintf_s(L"Error: Failed to get current SDK category name. ErrorCode=0x%08X\n", hr);
                return false;
            }
            wprintf_s(L"- %s\n", node);

            // Get a list of SDKs/platforms in this node
            CComPtr<IEnumManagerSDKs> pSDKEnumerator;
            hr = pDeviceEmulatorManager->EnumerateSDKs(&pSDKEnumerator);
            if (FAILED(hr)) {
                wprintf_s(L"Error: Failed to get enumerator for the SDK Category[%s]. ErrorCode=0x%08X\n", node, hr);
                return false;
            }

            // For every SDK/platform in the list
            for (; SUCCEEDED(hr); (hr = pSDKEnumerator->MoveNext()))
            {
                // Output its name
                CComBSTR sdkName;
                hr = pSDKEnumerator->get_Name(&sdkName);
                if (hr == E_ENUMSDK_NOT_LOADED ) {
                    continue;
                } else if (FAILED(hr)) {
                    wprintf_s(L"Error: Failed to get SDK details. ErrorCode=0x%08X\n", hr);
                    return false;
                }
                wprintf_s(L"\t- %s\n", sdkName);

                // Get the list of emulators in the SDK/platform
                CComPtr<IEnumVMIDs> pDeviceEnumerator;
                hr = pSDKEnumerator->EnumerateVMIDs(&pDeviceEnumerator);
                if (FAILED(hr)) {
                    wprintf_s(L"Error: Failed to get enumerator for VM devices. ErrorCode=0x%08X\n", hr);
                    return false;
                }

                // For every emulator in the list
                for (; SUCCEEDED(hr); (hr = pDeviceEnumerator->MoveNext()))
                {
                    // Get the IDeviceEmulatorManagerVMID object.
                    CComPtr<IDeviceEmulatorManagerVMID> pDevice;
                    hr = pDeviceEnumerator->GetVMID(&pDevice);
                    if (FAILED(hr)) {
                        continue;
                    }

                    // Output the name of the emulator.
                    CComBSTR deviceName;
                    hr = pDevice->get_Name(&deviceName);
                    if (FAILED(hr)){
                        continue;
                    }
                    wprintf_s(L"\t\t%s\n", deviceName);
                }
            }
        }
        return true;
        CoUninitialize();
    }
    return false;
}

Requisitos

DEMComInterface.tlb

Consulte também

Outros recursos

Exemplos de emulador de dispositivo