次の方法で共有


NetRxQueueNotifyMoreReceivedPacketsAvailable 関数 (netrxqueue.h)

クライアント ドライバーは NetRxQueueNotifyMoreReceivedPacketsAvailable を呼び出して、NetAdapterCx がクライアントの EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED イベント コールバック ルーチンを呼び出した後にキュー操作 再開します。

構文

void NetRxQueueNotifyMoreReceivedPacketsAvailable(
  [_In_] NETPACKETQUEUE PacketQueue
);

パラメーター

[_In_] PacketQueue

net 受信キュー オブジェクトへのハンドル。

戻り値

なし

解説

この関数は、ポーリングが無効になっている場合にのみ呼び出す必要があります。

NetAdapterCx が NotificationEnabledTRUE に設定してクライアント ドライバーのEVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED イベント コールバック ルーチンを呼び出した後、クライアントはキューのハードウェア割り込みを有効にします。 デバイスがハードウェア割り込みを生成すると、クライアントは通常、受信キューのNET_RINGで保留中のNET_PACKETが完了した後、EVT_WDF_INTERRUPT_DPCコールバック関数から NetRxQueueNotifyMoreReceivedPacketsAvailable を呼び出します。

クライアントは、通知の有効化ごとに 1 回だけ NetRxQueueNotifyMoreReceivedPacketsAvailable を呼び出す必要があります。 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLEDへの最新の呼び出しで NotificationEnabledFALSE に設定されている場合、クライアントは NetRxQueueNotifyMoreReceivedPacketsAvailable の呼び出しを回避する必要があります。 NetAdapterCx はEVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLEDを繰り返し呼び出すので、NotificationEnabledFALSE に設定されている場合、クライアントはいくつかのケースを見逃し、NetRxQueueNotifyMoreReceivedPacketsAvailable を呼び出します。 このような場合、呼び出しは no-op になります。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.27
最小 UMDF バージョン 2.33
Header netrxqueue.h (netadaptercx.h を含む)
IRQL <= HIGH_LEVEL

こちらもご覧ください

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED