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

El método GetPrivateDevices recupera una lista de dispositivos portátiles privados conectados al equipo. Estos dispositivos privados solo son accesibles a través de una aplicación diseñada para estos dispositivos concretos.

Sintaxis

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

Parámetros

[in, out] pPnPDeviceIDs

Matriz asignada por el llamador de punteros de cadena que contiene los nombres Plug and Play de todos los dispositivos conectados. Para obtener información sobre el tamaño necesario para este parámetro, primero llame a este método con este parámetro establecido en NULL y pcPnPDeviceIDs establecido en cero y, a continuación, asigne un búfer según el valor recuperado por pcPnPDeviceIDs. IPortableDevice::Open puede usar estos nombres para crear una conexión a un dispositivo.

[in, out] pcPnPDeviceIDs

En la entrada, el número de valores que pPnPDeviceIDs puede contener. En la salida, un puntero al número de dispositivos realmente escritos en pPnPDeviceIDs.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_POINTER
Al menos uno de los argumentos necesarios era un puntero NULL .
S_FALSE
El búfer pPnPDeviceIDs es demasiado pequeño para contener todos los valores solicitados, pero los valores pcPnPDeviceIDs se han escrito en pPnPDeviceIDs.

Comentarios

Para escribir una aplicación que se comunique con un dispositivo privado, debe tener conocimiento de la funcionalidad personalizada expuesta por un controlador de dispositivo determinado. La descripción de esta funcionalidad debe obtenerse del fabricante del dispositivo.

La lista de dispositivos se genera cuando se crea una instancia del administrador de dispositivos; no se actualiza a medida que los dispositivos se conectan y desconectan. Para actualizar la lista de dispositivos conectados, llame a RefreshDeviceList.

La API asigna la memoria de cada cadena a la que apunta la matriz pPnPDeviceIDs . Una vez que la aplicación ya no necesite estas cadenas, debe recorrer en iteración esta matriz y liberar la memoria asociada llamando a la función CoTaskMemFree .

Es posible que un dispositivo privado no responda correctamente a las llamadas de función de dispositivos portátiles de Windows estándar que realizan la enumeración de objetos, la transferencia de recursos, la recuperación de funcionalidades del dispositivo, etc.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado portabledeviceapi.h
Library PortableDeviceGUIDs.lib

Consulte también

IPortableDeviceManager (Interfaz)