WM_DEVICECHANGE 메시지

애플리케이션에 디바이스 또는 컴퓨터의 하드웨어 구성 변경에 대해 알 수 있습니다.

창은 WindowProc 함수를 통해 이 메시지를 받습니다.

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.h 헤더 파일에서 다음 값 중 하나일 수 있습니다.

의미

DBT_DEVNODES_CHANGED0x0007
디바이스가 시스템에 추가되거나 시스템에서 제거되었습니다.

DBT_QUERYCHANGECONFIG0x0017
현재 구성(도킹 또는 도킹 취소)을 변경할 수 있는 권한이 요청됩니다.

DBT_CONFIGCHANGED0x0018
도크 또는 도킹 해제로 인해 현재 구성이 변경되었습니다.

DBT_CONFIGCHANGECANCELED0x0019
현재 구성(도크 또는 도킹 해제)을 변경하는 요청이 취소되었습니다.

DBT_DEVICEARRIVAL0x8000
디바이스 또는 미디어 조각이 삽입되었으며 이제 사용할 수 있습니다.

DBT_DEVICEQUERYREMOVE0x8001
디바이스 또는 미디어 부분을 제거할 수 있는 권한이 요청됩니다. 모든 애플리케이션은 이 요청을 거부하고 제거를 취소할 수 있습니다.

DBT_DEVICEQUERYREMOVEFAILED0x8002
디바이스 또는 미디어 제거 요청이 취소되었습니다.

DBT_DEVICEREMOVEPENDING0x8003
디바이스 또는 미디어 조각이 제거될 예정입니다. 거부할 수 없습니다.

DBT_DEVICEREMOVECOMPLETE0x8004
디바이스 또는 미디어 조각이 제거되었습니다.

DBT_DEVICETYPESPECIFIC0x8005
디바이스 관련 이벤트가 발생했습니다.

DBT_CUSTOMEVENT0x8006
사용자 지정 이벤트가 발생했습니다.

DBT_USERDEFINED0xffff
이 메시지의 의미는 사용자 정의입니다.

lParam

이벤트별 데이터를 포함하는 구조체에 대한 포인터입니다. 해당 형식은 wParam 매개 변수의 값에 따라 달라집니다. 자세한 내용은 각 이벤트에 대한 설명서를 참조하세요.

반환 값

TRUE를 반환하여 요청을 부여합니다.

요청을 거부하는 BROADCAST_QUERY_DENY 반환합니다.

설명

배출 및 잠금과 같은 소프트웨어 제어 기능을 제공하는 디바이스의 경우 시스템은 일반적으로 애플리케이션 및 디바이스 드라이버가 디바이스 사용을 정상적으로 종료할 수 있도록 DBT_DEVICEREMOVEPENDING 메시지를 보냅니다. 시스템에서 강제로 디바이스를 제거하는 경우 DBT_DEVICEQUERYREMOVE 메시지를 보내지 않을 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
지원되는 최소 서버 Windows Server 2003
헤더
Winuser.h(Windows.h 또는 Dbt.h 포함)

추가 정보

DBT_CONFIGCHANGECANCELED

DBT_CONFIGCHANGED

DBT_CUSTOMEVENT

DBT_DEVICEARRIVAL

DBT_DEVICEQUERYREMOVE

DBT_DEVICEQUERYREMOVEFAILED

DBT_DEVICEREMOVECOMPLETE

DBT_DEVICEREMOVEPENDING

DBT_DEVICETYPESPECIFIC

DBT_DEVNODES_CHANGED

DBT_QUERYCHANGECONFIG

DBT_USERDEFINED