Método IPortableDeviceManager::GetPrivateDevices (portabledeviceapi.h)
O método GetPrivateDevices recupera uma lista de dispositivos portáteis privados conectados ao computador. Esses dispositivos privados só podem ser acessados por meio de um aplicativo projetado para esses dispositivos específicos.
Sintaxe
HRESULT GetPrivateDevices(
[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 manter todos os valores solicitados, mas os valores pcPnPDeviceIDs foram gravadosem pPnPDeviceIDs. |
Comentários
Para escrever um aplicativo que se comunica com um dispositivo privado, você deve ter conhecimento da funcionalidade personalizada exposta por um driver de dispositivo específico. A descrição dessa funcionalidade deve ser obtida do fabricante do dispositivo.
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 .
Um dispositivo privado pode não responder corretamente às chamadas de função padrão dispositivos portáteis do Windows que executam enumeração de objeto, transferência de recursos, recuperação de recursos do dispositivo e assim por diante.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | portabledeviceapi.h |
Biblioteca | PortableDeviceGUIDs.lib |