Функция RxNameCacheFetchEntry (namcache.h)

RxNameCacheFetchEntry ищет совпадение с указанной строкой имени для записи NAME_CACHE.

Синтаксис

PNAME_CACHE RxNameCacheFetchEntry(
  [in] IN PNAME_CACHE_CONTROL NameCacheCtl,
  [in] IN PUNICODE_STRING     Name
);

Параметры

[in] NameCacheCtl

Указатель на структуру NAME_CACHE_CONTROL для сканирования.

[in] Name

Указатель на строку Юникода, содержащую имя для сопоставления.

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

RxNameCacheFetchEntry возвращает указатель на соответствующую NAME_CACHE структуру, если совпадение найдено, или значение NULL , если совпадение завершилось сбоем.

Комментарии

RxNameCacheFetchEntry ищет совпадение в списке активных кэша имен для указанного параметра Name . Если имя найдено, запись удаляется из списка активных кэша имен и возвращается указатель на структуру NAME_CACHE. В противном случае возвращается значение NULL .

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

Если найдена соответствующая запись NAME_CACHE, проверка для истечения срока действия не выполняется. Вызывающий объект должен проверка для истечения срока действия, так как ему может потребоваться выполнить некоторые специальные действия.

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

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть namcache.h (включая Namcache.h)
IRQL <= APC_LEVEL

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

RxNameCacheActivateEntry

RxNameCacheCheckEntry

RxNameCacheCreateEntry

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry

RxNameCacheInitialize