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


Событие DBT_DEVICEREMOVECOMPLETE

Система передает событие DBT_DEVICEREMOVECOMPLETE устройства, когда устройство или часть носителя были физически удалены.

Для трансляции этого события устройства система использует сообщение WM_DEVICECHANGE с параметром wParam , равным DBT_DEVICEREMOVECOMPLETE и 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_DEVICEREMOVECOMPLETE

lParam

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

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

Возвращает значение TRUE.

Комментарии

Система может транслировать DBT_DEVICEREMOVECOMPLETE сообщение без отправки соответствующих DBT_DEVICEQUERYREMOVE и DBT_DEVICEREMOVEPENDING сообщений. В таких случаях приложения и драйверы должны восстановиться после потери устройства как можно лучше.

Если носитель удаляется, типом поступающего устройства является том ( элемент dbch_devicetype DBT_DEVTYP_VOLUME), а изменение влияет на носитель ( элемент dbcv_flags DBTF_MEDIA).

Примеры

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

Требования

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

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

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

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

DEV_BROADCAST_HDR

WM_DEVICECHANGE