다음을 통해 공유


DriverEntry 반환 값

DriverEntry 루틴은 STATUS_SUCCESS 또는 적절한 오류 상태 NTSTATUS 값을 반환합니다.

DriverEntry 루틴은 STATUS_SUCCESS 반환하기 직전까지 IoRegisterDriverReinitialization에 대한 호출을 연기해야 합니다. STATUS_SUCCESS 반환하지 않는 한 이 호출을 수행해서는 안 됩니다.

DriverEntry 루틴이 성공 또는 정보 값(예: STATUS_SUCCESS)이 아닌 NTSTATUS 값을 반환하는 경우 해당 DriverEntry 루틴에 대한 드라이버가 로드되지 않습니다.

초기화에 실패하는 DriverEntry 루틴은 컨트롤을 반환하기 전에 이미 설정한 시스템 개체, 시스템 리소스 및 레지스트리 리소스를 해제해야 합니다. IRP_MJ_FLUSH_BUFFERS 드라이버 개체에서 드라이버의 디스패치 진입점을 다시 설정해야 하며 드라이버가 이러한 요청을 지원하는 경우 NULLIRP_MJ_SHUTDOWN.

드라이버가 초기화에 실패하면 DriverEntry 루틴도 컨트롤을 반환하기 전에 오류를 기록해야 합니다. 로깅 오류를 참조하세요.

드라이버의 DriverEntry 루틴이 오류 상태 반환하는 경우 드라이버의 언로드 루틴은 호출되지 않습니다.