다음을 통해 공유


DriverEntry 루틴 작성

각 드라이버에는 드라이버 전체 데이터 구조 및 리소스를 초기화하는 DriverEntry 루틴이 있어야 합니다. I/O 관리자는 드라이버를 로드할 때 DriverEntry 루틴을 호출합니다.

모든 드라이버에서 플러그 앤 플레이(PnP)를 지원하는 드라이버에서 DriverEntry 루틴은 드라이버 초기화를 담당하지만 AddDevice 루틴(및 PnP IRP_MN_START_DEVICE 요청을 처리하는 디스패치 루틴)은 디바이스 초기화를 담당합니다. 드라이버 초기화에는 드라이버의 다른 진입점 내보내기, 드라이버에서 사용하는 특정 개체 초기화 및 다양한 드라이버별 시스템 리소스 설정이 포함됩니다. (비 PnP 드라이버는 Microsoft Windows NT 4.0 이하의 드라이버 개발 키트[DDK]에 설명된 대로 매우 다른 요구 사항이 있습니다.)

DriverEntry 루틴은 IRQL = PASSIVE_LEVEL 시스템 스레드의 컨텍스트에서 호출됩니다.

DriverEntry 루틴은 페이지 가능할 수 있으며 삭제되도록 INIT 세그먼트에 있어야 합니다. WDK(Windows 드라이버 키트)와 함께 제공되는 샘플 드라이버에 설명된 대로 alloc_text pragma 지시문을 사용합니다.

이 섹션에서는 다음 항목을 다룹니다.

DriverEntry의 필수 책임

DriverEntry의 선택적 책임

DriverEntry 반환 값