次の方法で共有


NetRxQueueNotifyMoreReceivedPacketsAvailable 関数 (netrxqueue.h)

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

構文

void NetRxQueueNotifyMoreReceivedPacketsAvailable(
  [_In_] NETPACKETQUEUE PacketQueue
);

パラメーター

[_In_] PacketQueue

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

戻り値

何一つ

備考

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

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

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

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.27
UMDF の最小バージョン する 2.33
ヘッダー netrxqueue.h (netadaptercx.h を含む)
IRQL <= HIGH_LEVEL

関連項目

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED