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


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

Метод GetPrivateDevices извлекает список частных портативных устройств, подключенных к компьютеру. Эти частные устройства доступны только через приложение, предназначенное для этих конкретных устройств.

Синтаксис

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

Параметры

[in, out] pPnPDeviceIDs

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

[in, out] pcPnPDeviceIDs

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

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

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

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

Комментарии

Чтобы написать приложение, которое взаимодействует с частным устройством, необходимо иметь представление о пользовательских функциональных возможностях, предоставляемых определенным драйвером устройства. Описание этой функции должно быть получено у изготовителя устройства.

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

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

Частное устройство может неправильно реагировать на стандартные вызовы функций переносимых устройств Windows, которые выполняют перечисление объектов, передачу ресурсов, получение возможностей устройства и т. д.

Требования

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

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

Интерфейс IPortableDeviceManager