次の方法で共有


NetTxQueueNotifyMoreCompletedPacketsAvailable 関数 (nettxqueue.h)

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

構文

void NetTxQueueNotifyMoreCompletedPacketsAvailable(
  [_In_] NETPACKETQUEUE PacketQueue
);

パラメーター

[_In_] PacketQueue

ネット送信キューへのハンドル。

戻り値

なし

解説

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

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

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

要件

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

こちらもご覧ください

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED