다음을 통해 공유


디스패치 루틴 기능

특정 디스패치 루틴의 필수 기능은 처리하는 I/O 함수 코드, 드라이버 체인의 개별 드라이버 위치 및 기본 물리적 디바이스 유형에 따라 달라집니다.

대부분의 디스패치 루틴은 다음과 같이 들어오는 I/O 요청 패킷(IRP)을 처리합니다.

  1. IRP에서 드라이버의 I/O 스택 위치를 확인하여 수행할 작업을 확인하고 유효성을 위해 매개 변수(있는 경우)를 검사.

    드라이버가 I/O 스택 위치를 검사 수행할 작업을 결정하고 매개 변수를 검사 여부는 지정된 IRP_MJ_XXX와 드라이버가 처리하는 각 IRP_MJ_XXX에 대해 별도의 Dispatch 루틴을 설정했는지 여부에 따라 달라집니다.

  2. 요청을 충족하고 가능한 경우 IRP를 완료합니다. 그렇지 않으면 하위 수준 드라이버 또는 다른 디바이스 드라이버 루틴에서 추가 처리를 위해 전달합니다.

    추가 처리를 위해 드라이버가 IRP를 전달해야 하는지 여부는 매개 변수의 유효성(있는 경우)과 IRP_MJ_XXX 및 드라이버 수준(있는 경우)에 따라 계층화된 드라이버 체인에 따라 달라집니다.

IRP에 대한 자세한 내용은 IRP 처리를 참조하세요.