2012-03-21 7 views
0

모두부스트 파일 시스템 - 열거하는 장치?

시스템의 모든 저장 장치를 열거하는 크로스 플랫폼 (따라서 : 부스트) 방법/기능을 작성하려고합니다. Boost docs는 여러 루트 파일 시스템을 언급했지만이를 처리하는 방법에 대해서는 자세히 설명하지 않았습니다. 하드 디스크, CD/DVD 드라이브, USB 드라이브 등이있는 Windows 컴퓨터는 '다중 루트 시스템'으로 간주됩니다. 맞습니까? 그렇지 않다면 루트는 무엇입니까?

Linux에서 단일 루트 (예 :/dev)가 있다고 가정하지만 Boost를 사용하여 다중 루트 시스템 (예 : Window)에서이를 수행하는 방법을 잘 모르겠습니다. 거기에 장치를 열거하는 부스트 방법이 있습니까?

도움 말? BP :

답변

1

Windows가 \에 뿌리를 둔 단일 루트 시스템입니다,하지만 그들은하지 "파일"시스템이야 - 그래서 그들은 다른 종류의 것

, 당신에게 대단히 감사합니다 개체. (장치, 드라이버, 파일, 디렉토리, 개체 유형, 이벤트, 돌연변이, 이벤트 쌍, 윈도우 스테이션, 보안 토큰, 세마포어, 타이머, 세션, 메모리 섹션, ...)는

(WinObj를 참조하십시오.)

네이티브 NT API를 사용하는 사람들이 당신을 싫어하기 때문에 이것들을 열거하기위한 Boost 메서드는 없다고 생각합니다. (Win32 서브 시스템은 이것들을 노출하지 않고 \??\ 디렉토리 만 노출합니다.) 그럼에도 불구하고 NtOpenDirectoryObject과 같은 함수를 사용하여 이들을 열거 할 수 있습니다.

관련 문제