ミニポート ドライバーからの受信データの表示
次の図は、ミニポート ドライバーの受信表示を示しています。
ミニポート ドライバーは、ネットワークからのデータの受信を示すために NdisMIndicateReceiveNetBufferLists 関数を呼び出します。 NdisMIndicateReceiveNetBufferLists 関数は、スタックの上にある NET_BUFFER_LIST 構造体の指定されたリストを、上にあるドライバーに渡します。
ミニポート ドライバーが NdisMIndicateReceiveNetBufferLists の ReceiveFlags パラメーターに NDIS_RECEIVE_FLAGS_RESOURCES フラグを設定する場合、ミニポート ドライバーが NET_BUFFER_LIST 構造体の所有権を直ちに回復する必要があることを示します。 この場合、NDIS はミニポート ドライバーの MiniportReturnNetBufferLists 関数を呼び出さず、NET_BUFFER_LIST 構造体を返しません。 ミニポート ドライバーは、NdisMIndicateReceiveNetBufferLists が返された直後に所有権を回復します。
ミニポート ドライバーが NdisMIndicateReceiveNetBufferLists の ReceiveFlags パラメーターに NDIS_RECEIVE_FLAGS_RESOURCES フラグを設定しない場合、NDIS はミニポート ドライバーの MiniportReturnNetBufferLists 関数に示された NET_BUFFER_LIST 構造体を返します。 この場合、ミニポート ドライバーは、NDIS が MiniportReturnNetBufferLists にそれらを返すまで、指定された構造体の所有権を 放棄します。