Функция 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_CACHE. В противном случае возвращается NULL.

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

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка namcache.h (include Namcache.h)
IRQL <= APC_LEVEL

См. также

RxNameCacheActivateEntry

RxNameCacheCheckEntry

RxNameCacheCreateEntry

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry

RxNameCacheInitialize