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


Функция SetupDiSelectDevice (setupapi.h)

Функция SetupDiSelectDevice является обработчиком по умолчанию для запроса DIF_SELECTDEVICE .

Синтаксис

WINSETUPAPI BOOL SetupDiSelectDevice(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Параметры

[in] DeviceInfoSet

Дескриптор набора сведений об устройстве , содержащего элемент сведений об устройстве, представляющий устройство, для которого нужно выбрать драйвер.

[in, out] DeviceInfoData

Указатель на структуру SP_DEVINFO_DATA , задающую элемент сведений об устройстве. Этот параметр является необязательным и может иметь значение NULL. Если указан этот параметр, SetupDiSelectDevice выбирает драйвер для указанного устройства и задает DeviceInfoData.ClassGuid — GUID класса настройки устройства для выбранного драйвера. Если этот параметр имеет значение NULL, SetupDiSelectDevice задает выбранный драйвер в списке драйверов глобального класса для DeviceInfoSet.

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

Функция возвращает ЗНАЧЕНИЕ TRUE , если оно выполнено успешно. В противном случае возвращается значение FALSE , а зарегистрированная ошибка может быть получена вызовом Метода GetLastError.

Комментарии

SetupDiSelectDevice обрабатывает пользовательский интерфейс, позволяющий пользователю выбрать драйвер для указанного устройства или набор сведений об устройстве, если устройство не указано. Задав поле Флагиструктуры SP_DEVINSTALL_PARAMS устройства или набор сведений об устройстве, если устройство не указано, вызывающий объект может указать специальную обработку пользовательского интерфейса, например, чтобы разрешить пользователям выбирать драйвер с диска установки изготовителя оборудования.

Примечание Только установщик класса должен вызывать SetupDiSelectDevice и только в тех ситуациях, когда установщик класса должен выполнять операции выбора драйвера после того , как SetupDiSelectDevice завершит операцию выбора драйвера по умолчанию. В таких ситуациях установщик класса должен напрямую вызывать SetupDiSelectDevice , когда установщик обрабатывает запрос DIF_SELECTDEVICE. Дополнительные сведения о вызове обработчика по умолчанию см. в разделе Вызов обработчиков кода DIF по умолчанию.
 
SetupDiSelectDevice в основном предназначен для выбора драйвера для устройства на локальном компьютере перед установкой устройства. Хотя setupDiSelectDevice не завершится ошибкой, если набор сведений об устройствах предназначен для удаленного компьютера, это приведет к ограниченному использованию, так как набор сведений об устройстве впоследствии не может использоваться с запросами на установку DIF_Xxx илифункциями SetupDiXxx , которые не поддерживают операции на удаленном компьютере. В частности, набор сведений об устройствах нельзя использовать в качестве входных данных с запросом на установку DIF_INSTALLDEVICE для установки устройства на удаленном компьютере.

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib
DLL Setupapi.dll

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

SP_DEVINSTALL_PARAMS

SetupDiCallClassInstaller