Поделиться через


Макрос MmGetMdlVirtualAddress (wdm.h)

Макрос MmGetMdlVirtualAddress возвращает базовый виртуальный адрес буфера, описанного MDL.

Синтаксис

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

Параметры

[in] Mdl

Указатель на MDL, описывающий буфер, для которого возвращается исходный виртуальный адрес.

Возвращаемое значение

Никакой

Замечания

MmGetMdlVirtualAddress возвращает начальный виртуальный адрес MDL.

MmGetMdlVirtualAddress возвращает виртуальный адрес, который не обязательно является допустимым в текущем контексте потока. Драйверы нижнего уровня не должны пытаться использовать возвращенный виртуальный адрес для доступа к памяти, особенно пространству памяти пользователя.

Возвращаемый адрес, используемый в качестве индекса для записи физического адреса в MDL, может быть входным для MapTransfer.

Вызывающие MmGetMdlVirtualAddress могут работать в любом IRQL. Обычно вызывающий объект выполняется в IRQL = DISPATCH_LEVEL, так как эта подпрограмма обычно вызывается для получения параметра CurrentVa для MapTransfer.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
заголовка wdm.h
IRQL Любой уровень (см. примечания)
правил соответствия DDI MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)