バインドの一時停止
NDIS は、ネットワーク プラグ アンド プレイ (PnP) のバインディングの一時停止イベント通知をプロトコル ドライバーに送信した後、バインドは一時停止状態になります。
PnP 一時停止イベントをプロトコル ドライバーに通知するために、NDIS は、NET_PNP_EVENT_NOTIFICATION 構造体の NetEvent メンバーを NetEventPause に設定して、ProtocolNetPnPEvent 関数を呼び出します。 Buffer メンバーには、NDIS_PROTOCOL_PAUSE_PARAMETERS 構造体が含まれています。
一時停止状態のバインドの場合、プロトコル ドライバーは次のようになります。
新しい送信要求を開始しないでください。
未処理の送信要求が完了するまで待機する必要があります。 NDIS がドライバーのすべての未処理の送信要求の ProtocolSendNetBufferListsComplete 関数を呼び出すまで、一時停止操作は完了しません。
通常どおりに受信指示を処理する必要があります。 基になるミニポート ドライバーは、一時停止操作を完了する前に、未処理の受信データが返されるのを待機します。 これにより、ミニポート ドライバーが一時停止した後、ドライバー スタックに継続的な受信操作がないことを確認します。
新しい受信指示を直ちに NDIS に返す必要があります。 必要に応じて、ドライバーはそれらを返す前に、このような受信指示をコピーできます。
プロトコル ドライバーの送受信操作の詳細については、「プロトコル ドライバーの送受信操作」を参照してください。
バインドは、プロトコル ドライバーが完了し、バインドの未処理の受信指示を返し、NDIS が、バインドのすべての未処理の送信要求を完了した後、一時停止状態に入ります。
一時停止状態のバインドの場合、プロトコル ドライバーは次のようになります。
送信要求を行ってはなりません。
直ちに受信指示を返す必要があります。 必要に応じて、ドライバーはそれらを返す前に、このような受信指示をコピーできます。