일반 드라이버 샘플
이 디렉터리의 샘플은 디바이스에 대한 사용자 지정 드라이버를 작성하기 위한 시작점을 제공합니다.
샘플 | 설명 |
---|---|
안전한 IRP 큐 취소 | 취소로부터 안전한 큐 루틴 IoCsqInitialize, IoCsqInsertIrp, IoCsqRemoveIrp, IoCsqRemoveNextIrp의 사용을 보여 줍니다. 드라이버 개발자는 이러한 루틴을 사용하여 IRP 취소 경합 조건에 대해 걱정할 필요가 없습니다. |
KMDF 에코 | 순차 큐를 사용하여 드라이버에 제공된 읽기 및 쓰기 요청을 직렬화하는 방법을 보여 줍니다. |
UMDF1 Echo | UMDF 1을 사용하여 드라이버를 작성하고 모범 사례를 사용하는 방법을 보여 줍니다. |
UMDF2 Echo | UMDF 2를 사용하여 드라이버를 작성하고 모범 사례를 사용하는 방법을 보여 줍니다. |
UMDF SocketEcho 샘플(UMDF 버전 1) | UMDF를 사용하여 드라이버를 작성하는 방법을 보여 줍니다. 모범 사례를 보여 줍니다. |
하드웨어 이벤트 | 커널 모드 드라이버가 애플리케이션에 하드웨어 이벤트에 대해 알릴 수 있는 두 가지 방법을 보여 줍니다. 한 가지 방법은 이벤트 기반 메서드를 사용하고 다른 방법은 IRP 기반 메서드를 사용합니다. 샘플 드라이버는 타이머 DPC를 사용하여 하드웨어 이벤트를 시뮬레이션합니다. |
PnP가 아닌 드라이버 샘플 | 커널 모드 드라이버 프레임워크를 사용하여 PnP가 아닌 드라이버를 작성하는 방법을 보여 줍니다. |
IOCTL | 4가지 유형의 IOCTL(METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER 및 METHOD_BUFFERED)을 사용하는 방법을 보여 줍니다. |
ObCallback | 프로세스 보호를 위해 등록된 콜백을 사용하는 방법을 보여 줍니다. 드라이버는 프로세스 생성 시 호출되는 컨트롤 콜백을 등록합니다. |
PCIDRV | 이 샘플에서는 PCI 디바이스에 대한 KMDF 드라이버를 작성하는 방법을 보여 줍니다. 샘플은 Intel 82557/82558 기반 PCI 이더넷 어댑터(10/100) 및 Intel 호환에서 작동합니다. |
커널 카운터 | 커널 모드 성능 라이브러리의 사용을 보여 줍니다. 드라이버는 하드웨어를 제어하지 않고 단순히 카운터를 제공합니다. 코드에는 각 함수가 수행하는 작업을 설명하는 주석이 포함되어 있습니다. |
PLX9x5x PCI 드라이버 | WDF(Windows 드라이버 프레임워크)를 사용하여 일반 PCI 디바이스용 드라이버를 작성하는 방법을 보여 줍니다. 이 드라이버의 대상 하드웨어는 PLX9656/9653RDK-LITE 보드입니다. |
RegFltr | 레지스트리 필터 드라이버를 작성하는 방법을 보여줍니다. |
단순 미디어 원본 | 사용자 지정 미디어 원본 및 드라이버 패키지를 작성하는 방법을 보여 줍니다. |
시스템 DMA | V3 시스템 DMA의 사용을 보여 줍니다. 드라이버가 Windows에서 지원하는 시스템 DMA 컨트롤러를 사용하여 DMA를 사용하여 하드웨어 위치에 데이터를 쓰는 방법을 보여 줍니다. |
토스터 샘플 드라이버 | KMDF(커널 모드 드라이버 프레임워크) 및 UMDF(사용자 모드 드라이버 프레임워크) 버전 1 모두에 대한 Windows 드라이버 개발의 기본 측면을 보여 주는 반복적인 샘플 시리즈입니다. |
토스터 패키지 샘플 | 토스터 샘플 드라이버의 하드웨어 우선 및 소프트웨어 우선 설치를 시뮬레이션합니다. |
토스터 샘플(UMDF 버전 2) | UMDF(사용자 모드 드라이버 프레임워크) 버전 2를 사용하여 Windows 드라이버 개발의 기본 측면을 보여 주는 반복적인 샘플 시리즈입니다. |
EventDrv | 커널 모드 추적 공급자 및 드라이버입니다. 드라이버는 하드웨어를 제어하지 않습니다. 추적 이벤트를 생성하기만 하면 됩니다. 드라이버에서 ETW(Windows용 이벤트 추적) API를 사용하는 방법을 보여 줍니다. |
시스템 추적 제어 | 이벤트 추적 제어 API를 사용하여 시스템 추적 공급자에서 이벤트를 수집하는 방법을 보여 줍니다. |
Tracedrv | 소프트웨어 추적을 위해 계측된 샘플 드라이버입니다. |
UMDF 드라이버 스켈레톤 | 사용자 모드 드라이버 프레임워크를 사용하여 최소 드라이버를 작성하는 방법을 보여 줍니다. 모범 사례를 보여 줍니다. |
범용 드라이버용 드라이버 패키지 설치 도구 키트 | 범용 드라이버 디자인의 DCHU 원칙을 보여 줍니다. |