событие 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 |
Заголовок |
|