바인딩 일시 중지

NDIS가 프로토콜 드라이버에 바인딩에 대한 PnP(네트워크 플러그 앤 플레이) 일시 중지 이벤트 알림을 보내면 바인딩이 일시 중지 상태로 들어갑니다.

PnP 일시 중지 이벤트의 프로토콜 드라이버에 알리기 위해 NDIS는 NET_PNP_EVENT_NOTIFICATION 구조체의 NetEvent 멤버가 NetEventPause로 설정된 ProtocolNetPnPEvent 함수를 호출합니다. Buffer 멤버에는 NDIS_PROTOCOL_PAUSE_PARAMETERS 구조체가 포함되어 있습니다.

일시 중지 상태의 바인딩의 경우 프로토콜 드라이버는 다음과 같습니다.

  • 새 보내기 요청을 시작해서는 안 됩니다.

  • 미해결 송신 요청이 완료되기를 기다려야 합니다. NDIS가 드라이버의 모든 미해결 송신 요청에 대해 ProtocolSendNetBufferListsComplete 함수를 호출할 때까지 일시 중지 작업이 완료되지 않습니다.

  • 수신 표시를 평소와 같이 처리해야 합니다. 기본 미니포트 드라이버는 일시 중지 작업을 완료하기 전에 미해결 수신 데이터가 반환될 때까지 기다립니다. 이렇게 하면 미니포트 드라이버가 일시 중지된 후 드라이버 스택에 지속적인 수신 작업이 없습니다.

  • NDIS에 새 수신 표시를 즉시 반환해야 합니다. 필요한 경우 드라이버는 이러한 수신 표시를 반환하기 전에 복사할 수 있습니다.

프로토콜 드라이버 송신 및 수신 작업에 대한 자세한 내용은 프로토콜 드라이버 보내기 및 받기 작업을 참조하세요.

바인딩은 프로토콜 드라이버가 바인딩에 대한 미해결 수신 표시를 반환하고 NDIS가 바인딩에 대한 미해결 송신 요청을 모두 완료한 후 일시 중지됨 상태로 들어갑니다.

일시 중지됨 상태의 바인딩의 경우 프로토콜 드라이버는 다음과 같습니다.

  • 보내기 요청을 하지 않아야 합니다.

  • 수신 표시를 즉시 반환해야 합니다. 필요한 경우 드라이버는 이러한 수신 표시를 반환하기 전에 복사할 수 있습니다.