문제

기 전에 나는 곧바로 이동 C#...

난 항상 느끼는 C,또는 어쩌면 C++,최고의 개발을 위한 드라이버 응용 프로그램을 시작합니다.나에 치열하지 않을 개발하는 아이디어를 드라이버에.NET 기계입니다.

지만.......순이 될 것으로 보인 방법 MS 은 제목에 대한 응용 프로그램 개발하고 그래서 내가 지금 궁금:

  • 은 사람들이 사용하는 C#드라이버를 개발하는?
  • 당신이해야 할 많은 API 후크,또는 C#스와 인터페이스 커널없이 많이 해커?
  • 할 수 있는 사람을 말하는 신뢰성과 안전성을 실행하는 C#프로그램에 가까운 링 0 보다 일반적으로 할까요?

내가 원하는 장치에서 사용하는 C#면 드라이버 dev C#에서는 성숙한 분명히 방법을 간다,그러나 나는 원하지 않을 보내고 많은 노력이 있는 경우 그 권장하지 않습니다.

  • 어떤 좋은 리소스를 시작하려면 말을 개발하고,간단한 가상 시리얼 포트 드라이버입니까?

-Adam

도움이 되었습니까?

해결책

할 수 있습도 만들지 않는 커널 모드 장치 드라이버에서는 C#로 런타임될 수 없이 안전하게 로드 ring0 및 운영으로 예상된다.

또한,C#을 만들지 않 바이너리에 적합한 선적으로 장치 드라이버,특히 관련 항목이 포인트 드라이버를 노출할 필요가.에 대한 의존도가 런타임에 점프하고 분석하고 JIT 바이너리 로드 중 금지하고 직접 액세스 드라이버는 하위 시스템을 필요로드리를 갖고 있습니다.

작업이 있는데,그러나,리프트는 일부 장치 드라이버로 사용자 모드로 당신이 볼 수 있는 인터뷰 베드로와 함께 고객의 UDMF(사용자 모드로 드라이버 프레임워크)팀이 있습니다.

사용자 모드 드라이버의 것이 훨씬 더 적합한 관리,작동 하지만 당신을 조금 구글 알아보려면 C#다.NET 직접 지원합니다.모두 내가 알고있는 커널 레벨 드라이버지 할 수 있에서만 C#.

당신은 할 수 있습니다,그러나,아마 C/C++드라이버,그리고 C#서비스(또는 이와 유사한 것)및 드라이버가 이야기하여 관리되는 코드는 경우,당신이 절대적으로 많이 쓰는 코드에서는 C#.

다른 팁

이라에 도움이 될 수 있는 방법: 윈도우 드라이버 Kit

그것은 직접 질문에 대답하지만 당신이 관심이 있다면 당신이 볼 수 있습니다 특이 프로젝트.

할 수 있는 사람을 말하는 신뢰성과 안전성을 실행하는 C#프로그램에 가까운 링 0 보다 일반적으로 할까요?

C#에서 실행됩니다.NET 가상 기계,이동할 수 없습니다 그것이 어떤 가까이 링 0 보다는 VM 이며,VM 에에서 실행하게 된다.

고자 하는 경우가 독자적인 프레임워크 Jungo 의 WinDriver toolkit 지원 사용자 모드로 드라이버 개발(도에서 관리되는 코드)USB,PCI,PCI-E devices.

마이크로소프트는 한 번의 연구 프로젝트의 영역에서 데리-코드 OS,다시 말해서 죽일된 Win32API 를 사용합니다.

볼리 조 폴리의 문서에서는: 재 레거시

쓰기 장치 드라이버습니다.net 은 아무 의미가 현재 버전의 windows.

<speculation>
소문은 MS 은 많은 돈을 투자하는 데에 특이점입니다.한 미도리.그러나 그는 2015 년+
</speculation>

면 내가 그것을 기억하는 올바르 Dokan 프로젝트 사용자 모드의 파일 시스템 드라이버는 또한할 수 있습니다.순 코드를 실행할 시스템 드라이버 https://github.com/dokan-dev/dokan-dotnet.

그래서,당신은 당신을 개발할 수 있 C#"driver"(사용자 모드 응용 프로그램이 정말),는 다음이라는/에 의해 호출됩 C++커널 모드 드라이버입니다.커널드라이버할 수 있는 단순히 모든 것을 전달하지 않고 함께 데이터를 조작하고 행동으로는 간단한 래퍼입니다.
언급 할 필요없이,그것은 매우 안전하지 않을 가능성이 높으로 끝나는 블루 스크린(도).


온화하게 관련된:

우주 프로젝트 오픈 소스는 운영 체제입니다 C#으로 개발된 실행
"(kernel)드라이버"와 사용자 수준으로 작성된 응용 프로그램에서 완전히 C#/F#/VB.NET/...

하지만 이들은 기술적으로 커널 레벨 드라이버,OS 없 Windows 지만,자신 그래서 나는 이것은 올바른 대답이다......

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top