NdisRetreatNetBufferListDataStart 関数 (ndis/nblapi.h)
NdisRetreatNetBufferListDataStart 関数を呼び出して、NET_BUFFER_LIST構造体内のすべてのNET_BUFFER構造体で使用されるデータ領域を増やします。
構文
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferListDataStart(
[in] NET_BUFFER_LIST *NetBufferList,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler,
[in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
パラメーター
[in] NetBufferList
以前に割り当てられたNET_BUFFER_LIST構造体へのポインター。
[in] DataOffsetDelta
各NET_BUFFER構造体に 追加で使用されるデータ領域 の量。 要求を満たすのに十分な 未使用のデータ領域 がない場合、NDIS はより多くのメモリを割り当てます。
[in] DataBackFill
NDIS でメモリを割り当てる必要がある場合、このパラメーターは、割り当てる DataOffsetDelta パラメーターの値に加えて、データ領域の量を指定します。
[in, optional] AllocateMdlHandler
NetAllocateMdl 関数の省略可能なエントリ ポイント。 呼び出し元が NetAllocateMdl 関数のエントリ ポイントを指定する場合、NDIS は NetAllocateMdl を呼び出して MDL とメモリを割り当てます。
[in, optional] FreeMdlHandler
NetFreeMdl 関数の省略可能なエントリ ポイント。 呼び出し元が NetFreeMdl 関数のエントリ ポイントを指定する場合、NDIS は NetFreeMdl を呼び出して MDL とメモリを解放します。
戻り値
NdisRetreatNetBufferListDataStart は、次のいずれかを返します。
リターン コード | 説明 |
---|---|
|
NdisRetreatNetBufferListDataStart は、 DataOffset メンバーの値を小さくするか、新しいストレージを割り当てることによって、すべてのNET_BUFFER構造体にデータ領域を正常に割り当てることに成功しました。 |
|
リソースが不足しているため、NdisRetreatNetBufferListDataStart が失敗しました。 |
|
リソースが不足している以外の理由で NdisRetreatNetBufferListDataStart が失敗しました。 |
注釈
NdisRetreatNetBufferListDataStart の呼び出しは、NET_BUFFER_LIST構造体のすべてのNET_BUFFER構造体に対する NdisRetreatNetBufferDataStart 関数。 NdisRetreatNetBufferListDataStart は、すべてのNET_BUFFER構造体の DataOffset メンバーの値を減らすことで要求を満たそうとします。 使用できる未使用のデータ領域が不足している場合、この関数は新しいバッファーと MDL を割り当て、新しい MDL を NET_BUFFER 構造体の MDL チェーンの先頭にチェーンします。
を呼び出します。 以前の NdisRetreatNetBufferListDataStart 呼び出しで要求されたデータ領域を解放するための NdisAdvanceNetBufferListDataStart 関数。 または、ドライバーは を呼び出すことができます。NET_BUFFER_LIST構造体の各NET_BUFFER構造体の NdisAdvanceNetBufferDataStart 関数。 NdisAdvanceNetBufferListDataStart を呼び出す方が効率的です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | ndis/nblapi.h (ndis.h を含む) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_NetBuffer_Function(ndis) |