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


Функция 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

Задает размер объекта защиты rundown в байтах.

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

Никакой

Замечания

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

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

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

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

Требования

Требование Ценность
минимальный поддерживаемый сервер Windows Server 2003, пакет обновления 1 (SP1)
заголовка wdm.h (include Wdm.h)
IRQL <= APC_LEVEL

См. также

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware

ExWaitForRundownProtectionReleaseCacheAware

защита от запуска с поддержкой кэша