NdisAdjustMdlLength 매크로(ndis.h)

NdisAdjustMdlLength 함수는 MDL과 연결된 데이터의 길이를 수정합니다.

구문

void NdisAdjustMdlLength(
  [in]  _Mdl,
  [in]  _Length
);

매개 변수

[in] _Mdl

MDL(메모리 설명자 목록)에 대한 포인터입니다.

[in] _Length

MDL에서 설명하는 데이터 바이트 수입니다.

반환 값

없음

설명

NdisAdjustMdlLength 함수는 NdisAllocateMdl 함수를 호출하여 할당된 MDL의 ByteCount 멤버를 수정합니다.

NdisAdjustMdlLength의 호출자는 호출자가 할당한 MDL 설명자만 전달할 수 있습니다. 다른 드라이버가 할당한 MDL 설명자를 전달할 수 없습니다.

예를 들어 bus-master DMA NIC의 드라이버는 공유 메모리 블록에서 수신 MDL을 지정하기 위해 할당된 MDL 설명자를 사용하여 NdisAdjustMdlLength를 호출합니다. 이러한 드라이버는 수신된 데이터를 나타내기 전에 NdisAdjustMdlLength 를 호출하여 수신 표시에 포함할 MDL 설명자가 NIC의 수신 버퍼 크기보다 작은 경우 수신된 데이터의 크기와 일치하도록 합니다.

NdisAdjustMdlLength에 전달되는 길이는 MDL 설명자가 할당되었을 때 NdisAllocateMdl에 전달된 길이보다 클 수 없습니다.

NdisAdjustMdlLength의 호출자는 NdisFreeMdl을 사용하여 MDL 설명자를 해제하기 전에 길이를 원래 값으로 복원해야 합니다.

NdisAdjustMdlLength의 호출자는 모든 IRQL에서 실행할 수 있지만 일반적으로 IRQL <= DISPATCH_LEVEL 실행됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
IRQL 모든 수준(설명 섹션 참조)

추가 정보

NdisAllocateMdl

NdisFreeMdl