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 |
---|---|
|
O método foi bem-sucedido. |
|
Pelo menos um dos argumentos necessários era um ponteiro NULL . |
|
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 |