Compartilhar via


Método IPortableDeviceManager::GetDevices (portabledeviceapi.h)

Recupera uma lista de dispositivos portáteis conectados ao computador.

Sintaxe

HRESULT GetDevices(
  [in, out] LPWSTR *pPnPDeviceIDs,
  [in, out] DWORD  *pcPnPDeviceIDs
);

Parâmetros

[in, out] pPnPDeviceIDs

Uma matriz alocada pelo chamador de ponteiros de cadeia de caracteres que contém os nomes Plug and Play de todos os dispositivos conectados. Para saber o tamanho necessário para esse parâmetro, primeiro chame esse método com esse parâmetro definido como NULL e pcPnPDeviceIDs definido como zero e, em seguida, aloque um buffer de acordo com o valor recuperado por pcPnPDeviceIDs. Esses nomes podem ser usados por IPortableDevice::Open para criar uma conexão com um dispositivo.

[in, out] pcPnPDeviceIDs

Na entrada, o número de valores que pPnPDeviceIDs podem conter. Na saída, um ponteiro para o número de dispositivos realmente gravados em pPnPDeviceIDs.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_POINTER
Pelo menos um dos argumentos necessários era um ponteiro NULL .
S_FALSE
O buffer pPnPDeviceIDs é muito pequeno para conter todos os valores solicitados, mas os valores de pcPnPDeviceIDs foram gravadosem pPnPDeviceIDs.

Comentários

A lista de dispositivos é gerada quando o gerenciador de dispositivos é instanciado; ele não é atualizado à medida que os dispositivos se conectam e se desconectam. Para atualizar a lista de dispositivos conectados, chame RefreshDeviceList.

A API aloca a memória para cada cadeia de caracteres apontada pela matriz pPnPDeviceIDs . Depois que o aplicativo não precisar mais dessas cadeias de caracteres, ele deverá iterar por essa matriz e liberar a memória associada chamando a função CoTaskMemFree .

Exemplos

Para obter um exemplo de como usar esse método para enumerar dispositivos, consulte Enumerando dispositivos. Para obter um exemplo de como usar esse método para enumerar Serviços, consulte Enumerando Serviços.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho portabledeviceapi.h
Biblioteca PortableDeviceGUIDs.lib

Confira também

Enumerando dispositivos

Enumerando serviços

IPortableDeviceManager Interface