미니포트 드라이버 하드웨어 재설정

미니포트 드라이버는 MiniportResetEx 함수를 NdisMRegisterMiniportDriver에 등록해야 합니다.

MiniportResetExNdisMResetComplete를 호출하여 동기적으로 또는 비동기적으로 완료할 수 있습니다(다음 그림 참조).

네트워크 인터페이스 카드 다시 설정하는 프로세스를 보여 주는 다이어그램

MiniportResetEx 는 다음을 수행해야 합니다.

  • 추가 인터럽트 사용 안 함

  • 진행 중인 모든 송신과 연결된 데이터를 지웁니다. 예를 들어 버스 master DMA(직접 메모리 액세스) 디바이스의 링 버퍼에서 버퍼를 보내는 포인터를 지워야 합니다. 역직렬화 및 연결 지향 미니포트 드라이버는 대기 중인 모든 송신 요청에 대해 NDIS_STATUS_REQUEST_ABORTED 반환해야 합니다.

  • 하드웨어 상태 및 미니포트 드라이버의 내부 상태를 다시 설정 작업 전에 존재한 상태로 복원합니다.

미니포트 드라이버는 멀티캐스트 주소, 패킷 필터, 작업 오프로드 설정 및 절전 모드 해제 패턴을 제외하고 디바이스의 하드웨어 상태를 복원하는 일을 담당합니다. 이러한 설정은 미니포트 드라이버 또는 NDIS에 의해 복원됩니다. 미니포트 드라이버는 AddressingReset 매개 변수에서 부울 값을 반환하여 이러한 설정을 복원할 책임이 있는 사람을 결정합니다.

미니포트 드라이버가 AddressingReset 매개 변수에서 FALSE를 반환하는 경우 미니포트 드라이버는 멀티캐스트 주소, 패킷 필터, 작업 오프로드 설정 및 절전 모드 해제 패턴을 초기 상태로 복원합니다. 미니포트 드라이버가 AddressingReset에서 TRUE를 반환하는 경우 NDIS는 연결 없는 미니포트 드라이버의 MiniportOidRequest 함수 또는 연결 지향 미니포트 드라이버의 MiniportCoOidRequest 함수를 호출하여 다음 구성 설정을 설정합니다.

미니포트 드라이버의 어댑터 상태

미니포트 어댑터 상태 및 작업

미니포트 드라이버 다시 설정 및 중지 함수