NdisAdjustMdlLength 宏 (ndis.h)
NdisAdjustMdlLength 函式會修改與 MDL 相關聯的數據長度。
語法
void NdisAdjustMdlLength(
[in] _Mdl,
[in] _Length
);
參數
[in] _Mdl
記憶體描述元清單的指標, (MDL) 。
[in] _Length
MDL 描述的數據位元組數目。
傳回值
無
備註
NdisAdjustMdlLength 函式會修改透過呼叫 NdisAllocateMdl 函式所配置的 MDL ByteCount 成員。
NdisAdjustMdlLength 的呼叫端只能傳遞呼叫端配置的 MDL 描述元。 它無法傳遞另一個驅動程式配置的 MDL 描述項。
例如,總線主機 DMA NIC 的驅動程式會呼叫 NdisAdjustMdlLength ,其配置來指定其共用記憶體區塊中的接收 MDL。 在這類驅動程式指出已接收的數據之前,它會呼叫 NdisAdjustMdlLength ,讓 MDL 描述元使其包含在接收指示中,如果接收的數據小於 NIC 接收緩衝區的大小,則會符合所接收數據的大小。
傳遞至 NdisAdjustMdlLength 的長度不能大於配置 MDL 描述元時傳遞給 NdisAllocateMdl 的長度。
NdisAdjustMdlLength 的呼叫端必須先將長度還原為其原始值,才能釋放具有 NdisFreeMdl 的 MDL 描述項。
NdisAdjustMdlLength 的呼叫端可以在任何 IRQL 上執行,但通常會在 IRQL <= DISPATCH_LEVEL執行。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平台 | 桌面 |
標頭 | ndis.h (包含 Ndis.h) |
IRQL | 任何層級 (請參閱一節) |