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


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

Эта подпрограмма инициализирует объект защиты от запуска кэша.

Синтаксис

void ExInitializeRundownProtectionCacheAware(
  [out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
  [in]  SIZE_T                      RunRefSize
);

Параметры

[out] RunRefCacheAware

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

[in] RunRefSize

Указывает размер (в байтах) объекта защиты от запуска.

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

None

Remarks

Защита от запуска — это механизм синхронизации, используемый ядром Windows для безопасной очистки ресурсов, к которым могут обращаться несколько потоков.

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

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

Структура EX_RUNDOWN_REF_CACHE_AWARE — это непрозрачная структура, которая используется для управления защитой от отсчета. Вызывающий объект должен сначала вызвать ExSizeOfRundownProtectionCacheAware , чтобы определить соответствующий размер объекта защиты от запуска. Затем этот размер следует использовать для выделения буфера для параметра RunRefCacheAware , а также передать в качестве параметра RunRefSize .

Требования

Требование Значение
Минимальная версия сервера Windows Server 2003 с пакетом обновления 1 (SP1)
Верхняя часть wdm.h (включая Wdm.h)
IRQL <= APC_LEVEL

См. также раздел

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheaware

ExWaitForRundownProtectionReleaseCacheAware

Защита от запуска с учетом кэша