Compartilhar via


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
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 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

Confira também

IPortableDeviceManager Interface