작은 도구로 USB 장치에서 작업을 기록하고 있습니다. 내 도구는 모든 장치 이벤트를 포착하는 Windows 서비스로 작동하지만 기본적으로 DBT_DEVICEARRIVAL
이벤트를 수신하면 USB 장치를 모니터링하기 시작합니다. 이 후에 모니터를 곧 중지해야합니다 (그렇지 않으면 내 서비스가 장치를 꺼내지 못하게됩니다). DBT_DEVICEQUERYREMOVE
이 표시됩니다. 문제는 도구가 여러 장치 수를 모니터링 할 수 있어야하므로 사용자가 어느 장치를 꺼내려고하는지 확인할 수 있어야한다는 것입니다. DBT_DEVICEQUERYREMOVE
이벤트에 DEV_BROADCAST_HANDLE
구조가 있음을 알게되었습니다. 이 구조에서 어떤 장치가 방출되는지 식별 할 수있는 유용한 정보를 추출하려고합니다. 장치에 대한 핸들이 있다는 것을 알았습니다. 시스템 함수 GetFinalPathNameByHandle
을 사용하여 드라이브 문자를 추출하려고했지만 제대로 작동하지 않습니다 (빈 값 반환). 어떻게하면됩니까?C의 장치 핸들에서 드라이브 문자 가져 오기
대단히 감사합니다!
@MSalters 제 질문은 귀하의 의견에 명시된 질문에 포함되지 않은 특정 질문입니다. 어떤 아이디어? –