기본 NIC가 재설정될 때 기본 드라이버에 대한 바인딩에서 전송 중인 데이터가 폐기될 수 있는 상황을 처리하도록 중간 드라이버가 준비되어 있어야 합니다.
NDIS는 대기 중인 전송 또는 요청이 NIC에 연결될 때 시간 초과가 발생할 경우 미니포트 드라이버의 MiniportResetEx 함수를 호출합니다. 이 때문에 기본 드라이버는 일반적으로 NIC를 다시 설정합니다. 기본 NIC가 다시 설정되면 NDIS는 각 바인딩된 프로토콜 및 중간 드라이버의 ProtocolStatusEx(또는 ProtocolCoStatusEx) 함수를 NDIS_STATUS_RESET_START 상태로 호출합니다. 미니포트 드라이버가 재설정을 완료하면 NDIS는 ProtocolStatusEx(또는 ProtocolCoStatusEx)를 NDIS_STATUS_RESET_END 상태로 다시 호출합니다.
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 함수를 제공하지 않습니다.