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