2011-09-14 4 views
3

"드라이버"를 만들려고합니다. Windows 용 실제 디스크에 사용자 지정 파일 시스템이 있다고 생각합니다. 나는 그것을 설명 할 수있는 최선의 방법을 정확히 모르고 있지만, 디바이스는 이미 적절한 드라이버와 Windows와 통신 할 수있는 모든 것을 가지고 있지만, 사용자가 디바이스를 연결할 수 있도록해야한다. 자신의 PC를 내 컴퓨터에 표시하고 장치 검색을 전적으로 지원합니다.파일 시스템 만들기 "드라이버"

이런 질문을하는 것조차 모르는 사람에 대해서는 약간 무서운 생각이지만, 이미 클래스와 모든 것을 내 응용 프로그램 내에서 읽도록 구성했습니다 ... 최종 사용자가 더 많은 작업을하지 않고 모든 것을 중앙 집중화하기를 원합니다. 누구나 이런 프로젝트를 만들 수있는 좋은 지침이 있습니까?

+0

너무 혼란 스럽습니다. 드라이버를 원하지만 Windows에는 이미 장치 용 드라이버가 있습니다. – Bojangles

+0

당신은 [퓨즈] (http://fuse.sourceforge.net/)와 같은 것에 대해 이야기하고 있습니까? – arunkumar

+0

@JamWaffles : Windows는 물리적 장치 및 파일 시스템에 대해 서로 다른 드라이버를 사용합니다. 첫 번째를 갖는 것이 두 번째를 의미하지는 않습니다. – MSalters

답변

4

나는 당신의 설명에서 이해하고 무엇을 알고 가장 가까운 것은 Windows 컴퓨터가 외부 2를 발생 (그리고 어느 정도의 EXT3에) 파일 시스템 리눅스에서 작동 할 수 있습니다 Ext2 installable file system 같은 설치 파일 시스템이다.

아마도 조사가 시작될 수 있습니다.

대안 방법으로는 IFS보다 훨씬 덜 복잡한 Shell extension이 있습니다. 지금은 존재하지 않는 GMail shell extension은 그 접근 방식을 사용했으며, Gmail의 변경으로 인해 비 기능적이더라도 여전히 영감을 줄 수 있습니다.

+0

이것은 실제로 나는 필요하다! 다른 사람들이 남긴 결과물을 보면서이 방법에 가장 적합한 방법을 찾아 보겠습니다. 감사! – Lander

0

Windows Driver Kit 설명서 (및 관련 과목)를 통해 원하는 것을 정확하게 찾아야한다고 생각합니다.

0

이미 존재하는 드라이버에 의존하려는 경우 (예 : 커널 토지에서 실제로 코드를 실행하여 커널과 통신 할 필요가없는 경우) FUSE Windows 용을 확인하십시오. Dokan

실제로 커널 공간에서 실행하고 하드웨어와 직접 통신해야하는 경우 Windows DDK (드라이버 개발 키트)를 다운로드 할 수 있습니다. 블록 장치와 파일 시스템과 통신하기위한 드라이버는 분리되어 있으며 파일 시스템 자체에 대해 말하는 것처럼 들릴 수 있습니다. 커널 공간에서 실행하는 모든 것이 C++ 런타임에 액세스 할 수 없으므로 커널 드라이버에 대해 C++의 하위 집합 만 사용할 수 있습니다.

1

옵션은 다음과 같습니다

  1. 는 커널 모드 파일 시스템 드라이버를 만듭니다. 숙련 된 개발자를위한 9-12 개월의 작업
  2. 프레임 워크를 사용하고 사용자 모드에서 모든 작업을 수행하십시오. 프로토 타입 작동을위한 2 주간의 작업. 이 접근법의 유일한 단점은 커널 모드 드라이버보다 느리다는 것입니다. 위에서 언급 한 Dokan을 사용하거나 상업용 개발을 위해 Callback File System을 사용할 수 있습니다.