다음을 통해 공유


중간 드라이버 다시 설정 작업

기본 NIC가 다시 설정되기 때문에 기본 드라이버에 바인딩에 대한 미해결 송신을 삭제할 수 있는 상황을 처리하도록 중간 드라이버를 준비해야 합니다.

기본 드라이버는 일반적으로 NDIS가 대기 중인 전송 또는 NIC에 바인딩된 요청을 시간 초과할 때 NDIS가 미니포트 드라이버의 MiniportResetEx 함수를 호출하기 때문에 NIC를 다시 설정합니다. 기본 NIC가 다시 설정되면 NDIS는 NDIS_STATUS_RESET_START 상태 사용하여 각 바인딩된 프로토콜 및 중간 드라이버의 ProtocolStatusEx(또는 ProtocolCoStatusEx) 함수를 호출합니다. 미니포트 드라이버가 재설정을 완료하면 NDIS는 NDIS_STATUS_RESET_END 상태 ProtocolStatusEx(또는 ProtocolCoStatusEx)를 다시 호출합니다.

NIC가 다시 설정되면 바인딩된 중간 드라이버에 해당 NIC에 보류 중인 전송 네트워크 데이터가 있는 경우 NDIS는 해당 네트워크 데이터를 적절한 상태 사용하여 중간 드라이버로 다시 완료합니다. 초기화가 완료되면 중간 드라이버가 이러한 네트워크 데이터를 다시 제출해야 합니다.

중간 드라이버가 NDIS_STATUS_RESET_START 상태 받으면 다음을 수행해야 합니다.

  • ProtocolStatusEx 또는 ProtocolCoStatusEx가 NDIS_STATUS_RESET_END 알림을 받을 때까지 네트워크 데이터를 전송할 준비가 된 상태로 유지합니다.

  • ProtocolStatusEx(또는 ProtocolCoStatusEx)가 NDIS_STATUS_RESET_END 알림을 받을 때까지 다음 상위 드라이버까지 표시할 준비가 된 수신된 네트워크 데이터를 보유합니다.

  • 진행 중인 작업 및 NIC 상태 유지 관리하는 내부 상태를 정리합니다.

ProtocolStatusEx(또는 ProtocolCoStatusEx)가 NDIS_STATUS_RESET_END 받은 후 중간 드라이버는 네트워크 데이터 전송을 다시 시작하고 요청을 수행하고 상위 수준 드라이버에 표시할 수 있습니다.

중간 드라이버는 MiniportResetEx 함수를 제공하지 않습니다.