NetTxQueueNotifyMoreCompletedPacketsAvailable 関数 (nettxqueue.h)
クライアント ドライバーは NetTxQueueNotifyMoreCompletedPacketsAvailable を呼び出して、NetAdapterCx がクライアントのEVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED イベント コールバック ルーチンを呼び出した後にキュー操作 を 再開します。
構文
void NetTxQueueNotifyMoreCompletedPacketsAvailable(
[_In_] NETPACKETQUEUE PacketQueue
);
パラメーター
[_In_] PacketQueue
ネット送信キューへのハンドル。
戻り値
なし
解説
この関数は、ポーリングが無効になっている場合にのみ呼び出す必要があります。
NetAdapterCx が NotificationEnabled を TRUE に設定してクライアント ドライバーのEVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED イベント コールバック ルーチンを呼び出した後、クライアントはキューのハードウェア割り込みを有効にします。 デバイスがハードウェア割り込みを生成すると、クライアントは通常、送信キューのNET_RINGで保留中のNET_PACKETが完了した後、その *EVT_WDF_INTERRUPT_DPC コールバック関数から NetTxQueueNotifyMoreCompletedPacketsAvailable を呼び出します。
クライアントは、通知の有効化ごとに 1 回だけ NetTxQueueNotifyMoreCompletedPacketsAvailable を呼び出す必要があります。 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLEDの最新の呼び出しで NotificationEnabled が FALSE に設定されている場合、クライアントは NetTxQueueNotifyMoreCompletedPacketsAvailable の呼び出しを回避する必要があります。 NetAdapterCx はEVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLEDを繰り返し呼び出すので、NotificationEnabled が FALSE に設定されている場合、クライアントはいくつかのケースを見逃し、NetTxQueueNotifyMoreCompletedPacketsAvailable を呼び出します。 このような場合、呼び出しは no-op になります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.27 |
最小 UMDF バージョン | 2.33 |
Header | nettxqueue.h (netadaptercx.h を含む) |
IRQL | <= HIGH_LEVEL |