Compartir a través de


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

Recupera una lista de dispositivos portátiles conectados al equipo.

Sintaxis

HRESULT GetDevices(
  [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

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 .

Ejemplos

Para obtener un ejemplo de cómo usar este método para enumerar dispositivos, vea Enumerar dispositivos. Para obtener un ejemplo de cómo usar este método para enumerar servicios, vea Enumeración de servicios.

Requisitos

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

Consulte también

Enumeración de dispositivos

Enumerar servicios

IPortableDeviceManager (Interfaz)