次の方法で共有


NdisCancelSendNetBufferLists 関数 (ndis.h)

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

構文

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

パラメーター

[in] NdisBindingHandle

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

[in] CancelId

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

戻り値

何一つ

備考

プロトコル ドライバーは、高レベルのソフトウェアから NDIS ネットワーク データに受信する Irp をマップします。 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 関数を呼び出す必要があります。

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

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

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

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_SendRcv_Function(ndis)

関連項目

ミニポートCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete