NdisMCoSendNetBufferListsComplete 関数 (ndis.h)
NdisMCoSendNetBufferListsComplete 関数は、NET_BUFFER_LIST構造体のリンクされたリストを基になるドライバーに返し、CoNDIS 送信要求の最終状態を返します。
構文
void NdisMCoSendNetBufferListsComplete(
[in] IN NDIS_HANDLE NdisVcHandle,
[in] IN PNET_BUFFER_LIST NetBufferLists,
[in] IN ULONG SendCompleteFlags
);
パラメーター
[in] NdisVcHandle
仮想接続 (VC) を識別するハンドル。 ミニポート ドライバーは、クライアントが発信呼び出しを設定したとき、または呼び出しマネージャーが着信呼び出し通知を示すためにクライアント登録済みサービス アクセス ポイント (SAP) の VC を作成したときに、 その MiniportCoCreateVc 関数への入力パラメーターとしてこのハンドルを取得しました。
[in] NetBufferLists
NET_BUFFER_LIST構造体のリンクされたリストへのポインター。 ミニポート ドライバーは、 への以前の呼び出しでNET_BUFFER_LIST構造体を受け取った MiniportCoSendNetBufferLists 関数。
[in] SendCompleteFlags
ビットごとの OR 操作と組み合わせることができる NDIS フラグ。 すべてのフラグをクリアするには、このパラメーターを 0 に設定します。 NdisMCoSendNetBufferListsComplete では 、NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL フラグがサポートされています。が設定されている場合は、現在の IRQL がDISPATCH_LEVELされていることを示します。 このフラグの詳細については、「 ディスパッチ IRQL 追跡」を参照してください。
戻り値
なし
解説
ミニポート ドライバーは NdisMCoSendNetBufferListsComplete を呼び出して、NDIS がドライバーに対して行った送信要求を完了します MiniportCoSendNetBufferLists 関数。 ミニポート ドライバーは、完了した送信要求に関連付けられている NET_BUFFER_LIST 構造体のリンクされた一覧を指定します。
送信要求の状態が保留中の間、ミニポート ドライバーは、NET_BUFFER_LIST構造体と、NET_BUFFER_LIST構造体に関連付けられているすべてのリソースの所有権を保持します。
ミニポート ドライバーが NdisMCoSendNetBufferListsComplete を呼び出した後、NDIS は、送信要求を発生させた基になるドライバーにNET_BUFFER_LIST構造体と関連データを返します。
ミニポート ドライバーは、任意の順序で送信要求を完了できます。 たとえば、ミニポート ドライバーは、複数の MiniportCoSendNetBufferLists 呼び出しからNET_BUFFER_LIST構造リストを連結したり、 MiniportCoSendNetBufferLists 呼び出しからリストを分割したりできます。 ただし、ミニポート ドライバーは、NET_BUFFER_LIST構造体に関連付けられているNET_BUFFER構造体の一覧を変更することはできません。
ミニポート ドライバーは、NetBufferLists パラメーターが指定する各NET_BUFFER_LIST構造体の Status メンバーに次のいずれかの状態コードを設定する必要があります。
NdisMCoSendNetBufferListsComplete へのミニポート ドライバーの呼び出しは、送信要求のデータがネットワーク経由で送信されたことを必ずしも示すわけではありません。 たとえば、データは NIC ハードウェアでキューに入れられます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_MCO_Function(ndis) |