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


функция READ_REGISTER_BUFFER_ULONG (wdm.h)

Подпрограмма READ_REGISTER_BUFFER_ULONG разыменовывает указанный указатель, вставляет барьер памяти и считывает набор значений ULONG из указанного адреса регистра в буфер.

Синтаксис

void READ_REGISTER_BUFFER_ULONG(
  [in]  volatile ULONG *Register,
  [out] PULONG         Buffer,
  [in]  ULONG          Count
);

Параметры

[in] Register

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

[out] Buffer

Указатель на буфер, в который считывается массив значений ULONG.

[in] Count

Указывает количество значений ULONG, считываемых в буфер.

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

None

Remarks

Эта процедура вставляет барьер памяти в код. Этот барьер гарантирует, что каждая операция, которая отображается в исходном коде до вызова этой подпрограммы, будет завершена перед любой операцией, которая появляется после вызова.

Дополнительные сведения о барьерах памяти см. в разделе KeMemoryBarrier.

Размер буфера должен быть достаточно большим, чтобы содержать по крайней мере указанное количество значений ULONG.

Вызывающие READ_REGISTER_BUFFER_ULONG могут выполняться в любой среде IRQL при условии, что буфер является резидентным, а регистр — резидентной, сопоставленной памятью устройства.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h, Miniport.h, Wudfwdm.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень (см. раздел "Примечания")