NdisCancelSendNetBufferLists 関数 (ndis.h)

プロトコル ドライバーは NdisCancelSendNetBufferLists 関数を呼び出して、ネットワーク データの送信を取り消します。

構文

void NdisCancelSendNetBufferLists(
  [in] NDIS_HANDLE NdisBindingHandle,
  [in] PVOID       CancelId
);

パラメーター

[in] NdisBindingHandle

取り消しが適用されるミニポート ドライバーまたは仮想ミニポートを識別する NdisOpenAdapterEx 関数によって返されるハンドル。

[in] CancelId

キャンセル識別子。 この識別子は、転送が取り消されるネットワーク データを指定します。

戻り値

なし

解説

プロトコル ドライバーは、高レベルのソフトウェアから受信した IRP を NDIS ネットワーク データにマップします。 NET_BUFFER_LIST構造体の一覧では、プロトコル ドライバーが転送のために下位レベルのドライバーに送信するネットワーク データについて説明します。 IRP が取り消された場合、プロトコル ドライバーは NdisCancelSendNetBufferLists 関数を呼び出して、対応する NDIS ネットワーク データの保留中の送信を取り消すことができます。

を呼び出す NDIS_SET_NET_BUFFER_LIST_CANCEL_ID 転送のために下位レベルのドライバーに渡される各NET_BUFFER_LIST構造体のマクロです。 NDIS_SET_NET_BUFFER_LIST_CANCEL_ID マクロは、指定されたパケットにキャンセル識別子をマークします。

NdisCancelSendNetBufferLists は、指定したキャンセル識別子でマークされ、指定されたミニポート ドライバーに関連付けられているすべてのデータの転送を取り消します。 NdisBindingHandle パラメーターで指定されたバインディング ハンドルは、ミニポート ドライバーを識別します。

NdisCancelSendNetBufferLists 関数は、1 つのバインディングでネットワーク データ転送を取り消します。 複数のバインディングでネットワーク データ転送を取り消すには、プロトコル ドライバーは、バインドごとに NdisCancelSendNetBufferLists 関数を 1 回呼び出す必要があります。

プロトコル ドライバーは、 NdisBindingHandle パラメーターが指定するハンドルが、 NdisCancelSendNetBufferLists の呼び出し中も有効なままであることを確認する必要があります。 つまり、プロトコル ドライバーは、NdisCancelSendNetBufferLists が返される前にバインドを閉じるには、NdisCloseAdapterEx 関数を呼び出す必要があります。

NdisCancelSendNetBufferLists を呼び出すと、指定したキャンセル識別子を持つすべてのネットワーク データの保留中の送信が取り消される保証はありません。 たとえば、プロトコル ドライバーがバインドされている次の下位ドライバーが MiniportCancelSend 関数を提供しない場合、 NdisCancelSendNetBufferLists の呼び出しでは何も行われません。

いずれの場合も、NDIS は、送信元プロトコル ドライバーに送信するために送信されたネットワーク データを返します。 ProtocolSendNetBufferListsComplete 関数。 NDIS は、完了状態が NDIS_STATUS_SEND_ABORTED のキャンセルされた送信データを返します。 NdisCancelSendNetBufferLists の呼び出しと取り消されたNET_BUFFER_LIST構造体の戻りまでの遅延は異なる可能性があるため、正確に指定することはできません。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 Irql_SendRcv_Function(ndis)

こちらもご覧ください

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete