우리 모두 알고 있듯이 WDF 드라이버 모델은 Windows 2000부터 드라이버 개발이 WDM을 기반으로 해야 하지만 개발이 매우 어렵고 사용자 모드 응용 프로그램 개발만큼 쉬울 것이라고는 기대할 수 없습니다. 이러한 상황을 개선하기 위해 Microsoft는 새로운 드라이버 개발 환경을 출시했습니다. 이는 재창조가 아니라 WDM을 기반으로 한 모델링과 캡슐화라는 점을 미리 지적해야 한다. 개발의 어려움을 줄여준다는 점이다. 왜냐하면:
1. 일반 프로그래밍의 독창적인 객체 기반 기술을 드라이버 개발에 적용합니다. WDM에는 개체 모델이 있지만 이는 실제 개체 기반 기술과 전혀 동일하지 않습니다. 개체 기반 기술을 구현하기 위해 Microsoft는 개체 모델을 신중하게 설계하고 이를 캡슐화했습니다. 속성, 메서드, 이벤트 등 "아무 것도 누락될 수 없습니다."
2. 커널 모드 드라이버와 사용자 모드 드라이버는 모두 동일한 개체 모델을 사용하여 구축되고 동일한 기본 캐리어를 사용합니다. 이 재단은 WDF입니다. WDF는 이미 캡슐화되고 정의된 개체 모델이지만 커널 모드와 사용자 모드 개체의 경우 WDF는 둘 다의 상위 개체입니다. 즉, 둘 다 WDF에서 상속되거나 둘 다 WDF에서 파생됩니다. 커널 모드와 관련하여 파생된 개체는 "KMD 프레임워크" 또는 KMDF라고 하며, 파생된 모델은 "UMD 프레임워크" 또는 UMDF라고 합니다. 프레임워크의 모델에 관계없이 내부 캡슐화 방법과 실행 동작은 실제로 WDM을 사용하여 완성됩니다.
3. 더 중요한 것은 Microsoft가 반복적으로 선보인 것은 드라이버의 특정 일반적인 동작을 캡슐화한다는 것입니다. 예를 들어 플러그 앤 플레이 및 전원 관리는 이러한 일반적인 동작에 속합니다. 대부분의 드라이버는 플러그 앤 플레이 및 전원 관리 문제를 처리해야 하기 때문에 수천 줄 정도의 코드가 필요하며, 일정 수준의 숙련도가 없으면 이를 잘 처리하지 못할 수도 있다고 합니다. 문제를 완전히 해결하기 위해 WDF는 플러그 앤 플레이와 전원 관리를 개체에 캡슐화하여 이를 개체의 기본 동작으로 즉시 만들었습니다.
4. 운영 체제 커널과 드라이버 간의 관계가 변경되었습니다. WDM 드라이버에서는 한편으로는 하드웨어를 처리해야 하고 다른 한편으로는 드라이버 간의 상호 작용을 처리해야 합니다. 그리고 운영 체제 커널. 이제 WDF는 드라이버를 운영 체제 커널에서 분리합니다. 드라이버와 운영 체제 간의 상호 작용은 프레임워크에 캡슐화된 메서드(함수)에 의해 완료되므로 드라이버 개발자는 하드웨어 동작 처리에만 집중하면 됩니다. 이는 다른 것을 희생하여 한 가지에 집중하는 단점을 피할 뿐만 아니라 두 당사자의 분리로 인해 운영 체제의 특정 변경 및 하드웨어 제조업체를 위한 지원 드라이버 개발에 큰 이점이 됩니다. .
5. 두 가지 드라이버 모드(KMDF, UMDF) 모두 WDK라는 동일한 환경을 사용하여 구축됩니다.
즉, KMDF와 UMDF의 개발 환경은 WDK입니다.
WDK(Windows 장치 키트): 테스트 제품군을 통합하면 DDK가 WDK가 됩니다. WDK는 Microsoft 운영 체제 시리즈용 드라이버 통합 개발 시스템입니다. 이는 Windows DDK와 하드웨어 호환성 테스트(HCT) 키트(하드웨어 호환성 테스트 도구)를 결합하고 Windows 운영 체제의 안정성과 신뢰성을 테스트하기 위한 Microsoft의 내부 테스트 모음도 제공합니다.
6. 캡슐화되고 객체 기반 기술이 도입되었음에도 불구하고 개발된 드라이버의 실행 효율성은 원본보다 열등하지 않습니다.
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/ding_3/archive/2009/12/23/5060907.aspx
-