Поделиться через


Метод IPortableDeviceManager::GetDevices (portabledeviceapi.h)

Извлекает список переносимых устройств, подключенных к компьютеру.

Синтаксис

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

Параметры

[in, out] pPnPDeviceIDs

Выделенный вызывающим объектом массив строковых указателей, содержащий Plug and Play имена всех подключенных устройств. Чтобы узнать необходимый размер для этого параметра, сначала вызовите этот метод с параметром NULL и pcPnPDeviceID равным нулю, а затем выделите буфер в соответствии со значением, извлеченным pcPnPDeviceID. Эти имена могут использоваться iPortableDevice::Open для создания подключения к устройству.

[in, out] pcPnPDeviceIDs

На входных данных — количество значений, которые могут храниться в pPnPDeviceID . На выходе — указатель на количество устройств, фактически записанных в pPnPDeviceID.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_POINTER
По крайней мере один из обязательных аргументов был указателем NULL .
S_FALSE
Буфер pPnPDeviceIDs слишком мал для хранения всех запрошенных значений, но значения pcPnPDeviceID были записаны в pPnPDeviceID.

Комментарии

Список устройств создается при создании экземпляра диспетчера устройств; Он не обновляется при подключении и отключении устройств. Чтобы обновить список подключенных устройств, вызовите RefreshDeviceList.

API выделяет память для каждой строки, на которую указывает массив pPnPDeviceIDs . После того как приложению больше не нужны эти строки, оно должно выполнить итерацию по этому массиву и освободить связанную память, вызвав функцию CoTaskMemFree .

Примеры

Пример использования этого метода для перечисления устройств см. в разделе Перечисление устройств. Пример использования этого метода для перечисления служб см. в разделе Перечисление служб.

Требования

Требование Значение
Целевая платформа Windows
Header portabledeviceapi.h
Библиотека PortableDeviceGUIDs.lib

См. также раздел

Перечисление устройств

Перечисление служб

Интерфейс IPortableDeviceManager