NIC 시작
다음 단계에서는 NDIS가 NIC 시작에 참여하는 방법을 설명합니다.
PnP 관리자가 IRP_MN_START_DEVICE 요청을 실행합니다. 이 IRP에는 PnP 관리자가 NIC에 할당한 리소스에 대해 NDIS에 알리는 정보가 포함되어 있습니다.
NDIS는 IoCompletion 루틴을 설정하고 디바이스 스택 아래로 IRP_MN_START_DEVICE 요청을 다음 가장 낮은 드라이버(일반적으로 버스 드라이버)로 전달합니다. 버스 드라이버가 IRP_MN_START_DEVICE 요청을 받으면 버스 드라이버는 디바이스에서 시작 작업을 수행하고 완료된 IRP_MN_START_DEVICE 요청을 디바이스 스택에 백업합니다.
NDIS가 완료된 IRP_MN_START_DEVICE 요청을 수신하면(즉, 모든 하위 드라이버가 IRP를 완료한 후 NDIS의 DispatchPnP 루틴이 제어를 얻는 경우) NDIS는 미니포트 드라이버의 MiniportInitializeEx 함수를 호출합니다.
MiniportInitializeEx 함수가 NDIS_STATUS_SUCCESS 반환하는 경우 NDIS는 레지스트리의 바인딩 정보에 표시된 대로 어댑터에 바인딩해야 하는 모든 프로토콜 드라이버의 ProtocolBindAdapterEx 함수를 호출하도록 이벤트를 예약합니다. 미니포트 드라이버에는 바인딩에 대한 정보가 없습니다.
NDIS는 IRP_MN_START_DEVICE 요청을 완료합니다.