Функция ExAcquireRundownProtection (wdm.h)
Подпрограмма ExAcquireRundownProtection пытается получить защиту от запуска общего объекта, чтобы вызывающий объект смог безопасно получить доступ к объекту.
Синтаксис
BOOLEAN ExAcquireRundownProtection(
[in, out] PEX_RUNDOWN_REF RunRef
);
Параметры
[in, out] RunRef
Указатель на структуру EX_RUNDOWN_REF , которая была инициализирована предыдущим вызовом подпрограммы ExInitializeRundownProtection . Подпрограммы защиты от запуска используют эту структуру для отслеживания состояния запуска связанного общего объекта. Эта структура непрозрачна для драйверов.
Возвращаемое значение
ExAcquireRundownProtection возвращает значение TRUE , если подпрограмма успешно получает защиту от запуска для вызывающей стороны. В противном случае возвращается значение FALSE. Возвращаемое значение FALSE указывает, что началось выполнение объекта и что объект должен рассматриваться как недопустимый.
Комментарии
Для безопасного доступа к общему объекту драйвер вызывает ExAcquireRundownProtection , чтобы получить защиту от запуска объекта. Подпрограмма возвращает значение TRUE , чтобы указать, что защита от отключается. Когда действует защита от запуска, драйвер может безопасно получить доступ к объекту, не рискуя, что объект будет удален до завершения доступа.
Если сам блок запуска не пагрянулся, эту функцию можно вызвать в DISPATCH_LEVEL.
После завершения доступа драйвер вызывает ExReleaseRundownProtection , чтобы освободить ранее полученную защиту от запуска.
Если ExAcquireRundownProtection возвращает значение FALSE, объект больше недоступен. Например, если объект должен быть заменен новым, вызывающий объект должен дождаться, пока владелец объекта создаст новый объект, а затем согласовать доступ к новому объекту.
Дополнительные сведения см. в разделе Защита от запуска.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно, начиная с Windows XP. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (см. примечания) |
Правила соответствия DDI | HwStorPortProhibitedDIS(storport) |