Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма KeSrcuReadUnlock завершает критически важный раздел RCU на стороне чтения указанного разделаCopy-Update (SRCU).
Синтаксис
VOID KeSrcuReadUnlock(
[in] PKE_SRCU Rcu,
[in] PKE_SRCU_LOCK Lock
);
Параметры
[in] Rcu
Указатель на экземпляр SRCU, который использовался в соответствующем вызове KeSrcuReadLock .
[in] Lock
Указатель на структуру KE_SRCU_LOCK , заполненную соответствующим вызовом KeSrcuReadLock .
Возвращаемое значение
None
Замечания
KeSrcuReadUnlock завершает критически важный раздел на стороне чтения, который был введен с помощью KeSrcuReadLock. Эта функция должна вызываться в том же потоке, который вызвал соответствующую функцию KeSrcuReadLock.
Эта функция может вызываться в любой IRQL, когда поток по-прежнему находится на том же процессоре. Если поток перенесен на другой процессор, максимальный эффективный IRQL DISPATCH_LEVEL из-за требований к прерыванию межпроцессорных прерываний (IPI).
Эту функцию можно вызвать с отключенными прерываниями.
Если вызывающий поток перенесен на другой процессор после вызова KeSrcuReadLock, эта функция будет:
- Обнаружение изменения процессора.
- Отправьте межпроцессорное прерывание (IPI) исходному процессору.
- Выполните операцию разблокировки удаленно на исходном процессоре.
После этого вызова защищенные данные больше не должны быть доступны.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Всеобщий |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | Любой уровень (см. примечания) |