Метод 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
По крайней мере один из обязательных аргументов был указателем NULL . |
|
Буфер pPnPDeviceIDs слишком мал для хранения всех запрошенных значений, но значения pcPnPDeviceID были записаны в pPnPDeviceID. |
Комментарии
Список устройств создается при создании экземпляра диспетчера устройств; Он не обновляется при подключении и отключении устройств. Чтобы обновить список подключенных устройств, вызовите RefreshDeviceList.
API выделяет память для каждой строки, на которую указывает массив pPnPDeviceIDs . После того как приложению больше не нужны эти строки, оно должно выполнить итерацию по этому массиву и освободить связанную память, вызвав функцию CoTaskMemFree .
Примеры
Пример использования этого метода для перечисления устройств см. в разделе Перечисление устройств. Пример использования этого метода для перечисления служб см. в разделе Перечисление служб.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | portabledeviceapi.h |
Библиотека | PortableDeviceGUIDs.lib |