Partager via


RxNameCacheFetchEntry, fonction (namcache.h)

RxNameCacheFetchEntry recherche une correspondance avec une chaîne de nom spécifiée pour une entrée de NAME_CACHE.

Syntaxe

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

Paramètres

[in] NameCacheCtl

Pointeur vers la structure NAME_CACHE_CONTROL à analyser.

[in] Name

Pointeur vers la chaîne Unicode qui contient le nom à mettre en correspondance.

Valeur de retour

RxNameCacheFetchEntry retourne un pointeur vers la structure de NAME_CACHE correspondante si une correspondance a été trouvée ou NULL si la correspondance a échoué.

Remarques

RxNameCacheFetchEntry recherche une correspondance dans la liste active du cache de noms pour le paramètre Name spécifié. Si le nom est trouvé, l’entrée est supprimée de la liste active du cache de noms et un pointeur vers la structure NAME_CACHE est retourné. Sinon, NULL est retournée.

L’entrée NAME_CACHE est supprimée de la liste active pour éviter les problèmes possibles avec un autre thread qui tente de mettre à jour la même entrée, ou d’observer qu’elle a expiré et l’a mis sur la liste gratuite. Il est possible d’obtenir plusieurs entrées portant le même nom par différents threads, mais finalement elles expireront.

Si une entrée de NAME_CACHE correspondante est trouvée, aucune vérification n’est effectuée pour expiration. L’appelant doit vérifier l’expiration, car il peut vouloir effectuer une action spéciale.

En tant qu’effet secondaire, car la liste active du cache de noms est analysée, toutes les entrées non correspondantes qui ont expiré sont placées dans la liste gratuite. Le verrou du cache de noms est acquis pour protéger cette opération.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête namcache.h (include Namcache.h)
IRQL <= APC_LEVEL

Voir aussi

RxNameCacheActivateEntry

RxNameCacheCheckEntry

RxNameCacheCreateEntry

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry

RxNameCacheInitialize