Прочитать на английском

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


Функция ExAcquireRundownProtectionEx (wdm.h)

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

Синтаксис

C++
BOOLEAN ExAcquireRundownProtectionEx(
  [in, out] PEX_RUNDOWN_REF RunRef,
  [in]      ULONG           Count
);

Параметры

[in, out] RunRef

Указатель на структуру EX_RUNDOWN_REF, которая была инициализирована предыдущим вызовом подпрограммы ExInitializeRundownProtection. Подпрограммы защиты запуска используют эту структуру для отслеживания состояния запуска связанного общего объекта. Эта структура непрозрачна для драйверов.

[in] Count

Сумма, по которой выполняется увеличение числа экземпляров запуска объекта. Число увеличивается только в том случае, если подпрограмма возвращает TRUE. Дополнительные сведения см. в разделе "Примечания"

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

ExAcquireRundownProtectionEx возвращает TRUE, если подпрограмма успешно получает защиту от запуска для вызывающего абонента. В противном случае возвращается FALSE. Возвращаемое значение FALSE указывает, что запущен запуск объекта и что объект должен рассматриваться как недопустимый.

Замечания

Чтобы безопасно получить доступ к общему объекту, драйвер вызывает ExAcquireRundownProtectionEx получить защиту от запуска объекта.

Параметр RunRef указывает на структуру EX_RUNDOWN_REF, которая отслеживает состояние запуска связанного объекта. Эти сведения о состоянии включают количество экземпляров защиты от запуска, которые в настоящее время применяются к объекту. ExAcquireRundownProtectionEx и ExReleaseRundownProtectionEx подпрограммы добавок и уменьшения этого количества по произвольным суммам. Две связанные подпрограммы, ExAcquireRundownProtection и ExReleaseRundownProtection, добавок и уменьшения этого количества.

Если сам блок запуска не поддерживается, эта функция может вызываться в DISPATCH_LEVEL.

Дополнительные сведения см. в разделе Run-Down Protection.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows Server 2003.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (см. примечания)
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection

ExReleaseRundownProtectionEx