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


событие DBT_DEVICEQUERYREMOVE

Система передает событие DBT_DEVICEQUERYREMOVE устройства, чтобы запросить разрешение на удаление устройства или части носителя. Это сообщение является последним шансом для приложений и драйверов подготовиться к удалению. Однако любое приложение может отклонить этот запрос и отменить операцию.

Для трансляции этого события устройства система использует сообщение WM_DEVICECHANGE с параметром wParam DBT_DEVICEQUERYREMOVE и lParam , как описано ниже.

LRESULT CALLBACK WindowProc(
  HWND hwnd,       // handle to window
  UINT uMsg,       // WM_DEVICECHANGE
  WPARAM wParam,   // device-change event
  LPARAM lParam    // event-specific data
);

Параметры

hwnd

Дескриптор окна.

uMsg

Идентификатор сообщения WM_DEVICECHANGE .

wParam

Задайте значение DBT_DEVICEQUERYREMOVE.

lParam

Указатель на структуру, определяющую удаляемое устройство. Структура состоит из независимого от событий заголовка, за которым следуют зависимые от событий элементы, описывающие устройство. Чтобы использовать эту структуру, рассматривайте структуру как DEV_BROADCAST_HDR структуру, а затем проверка ее элемент dbch_devicetype, чтобы определить тип устройства.

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

Возвращает значение TRUE , чтобы предоставить разрешение на удаление устройства.

Возврат BROADCAST_QUERY_DENY запретить разрешение на удаление устройства.

Комментарии

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

Примеры

Пример см. в разделе Обработка запроса на удаление устройства.

Требования

Требование Значение
Минимальная версия клиента
Windows XP
Минимальная версия сервера
Windows Server 2003
Заголовок
Dbt.h

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

События устройства

События Управление устройствами

DEV_BROADCAST_HDR

WM_DEVICECHANGE