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


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

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

Синтаксис

void READ_REGISTER_BUFFER_UCHAR(
  [in]  volatile UCHAR *Register,
  [out] PUCHAR         Buffer,
  [in]  ULONG          Count
);

Параметры

[in] Register

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

[out] Buffer

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

[in] Count

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

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

None

Remarks

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

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

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

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

Требования

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