Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод MapAllocatedPages
сопоставляет список ранее выделенных физических страниц в смежный блок виртуальной памяти, доступный из режима ядра.
Синтаксис
PVOID MapAllocatedPages(
[in] PMDL MemoryDescriptorList,
[in] MEMORY_CACHING_TYPE CacheType
);
Параметры
[in] MemoryDescriptorList
Указатель на список дескрипторов памяти (MDL), который будет сопоставлен. MDL можно выделить путем вызова IPortWaveRTStream::AllocatePagesForMdl или IPortWaveRTStream::AllocateContiguousPagesForMdl.
[in] CacheType
Указывает тип кэша. Задайте для этого параметра одно из следующих значений перечисления MEMORY_CACHING_TYPE: MmNonCached, mmCachedили MmWriteCombined.
Возвращаемое значение
MapAllocatedPages
возвращает начальный адрес сопоставленного буфера в виртуальной памяти. Если метод не может сопоставить буфер, он возвращает NULL.
Замечания
Так как звуковой стек Windows не поддерживает механизм для выражения требований к выравниванию доступа к памяти для буферов, звуковые драйверы должны выбрать тип кэширования для сопоставленных буферов памяти, которые не накладывают требования к выравниванию для конкретной платформы. Другими словами, тип кэширования, используемый драйвером звука для сопоставленных буферов памяти, не должен делать предположений о требованиях к выравниванию памяти для любой конкретной платформы.
Этот метод сопоставляет страницы физической памяти в MDL в виртуальной памяти в режиме ядра. Как правило, драйвер минипорта вызывает этот метод, если требуется программный доступ к списку точечной сбора для звукового буфера. В этом случае хранилище для списка точечного сбора должно быть выделено методом IPortWaveRTStream::AllocatePagesForMdl или IPortWaveRTStream::AllocateContiguousPagesForMdl.
Минипорт-драйвер WaveRT не должен требовать программного обеспечения доступа к самому буферу звука.
MapAllocatedPages
похож на функцию MmMapLockedPagesSpecifyCache. Минипорт-драйвер отвечает за распаку памяти перед освобождением памяти. Дополнительные сведения см. в разделе IPortWaveRTStream::UnmapAllocatedPages.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в операционных системах Windows Vista и более поздних версий. |
целевая платформа | Всеобщий |
заголовка | portcls.h |
IRQL | Пассивный уровень. |
См. также
IPortWaveRTStream::AllocateContiguousPagesForMdl
IPortWaveRTStream::AllocatePagesForMdl