Partager via


Fonction RxNameCacheFetchEntry (namcache.h)

RxNameCacheFetchEntry recherche une correspondance avec une chaîne de nom spécifiée pour une entrée 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 à correspondre.

Valeur retournée

RxNameCacheFetchEntry retourne un pointeur vers la structure 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, la valeur NULL est retournée.

L’entrée NAME_CACHE est supprimée de la liste active pour éviter d’éventuels problèmes avec un autre thread qui tente de mettre à jour la même entrée, ou en observant qu’elle a expiré et la placer dans la liste gratuite. Il est possible d’obtenir plusieurs entrées portant le même nom par différents threads, mais elles finissent par expirer.

Si une entrée NAME_CACHE correspondante est trouvée, aucune case activée n’est effectuée pour l’expiration. L’appelant doit case activée d’expiration, car il peut vouloir prendre une action spéciale.

Comme effet d’exception lorsque la liste active du cache de noms est analysée, toutes les entrées non correspondantes qui ont expiré sont placées sur la liste gratuite. Le verrou du cache de noms est acquis pour protéger cette opération.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête namcache.h (include Namcache.h)
IRQL <= APC_LEVEL

Voir aussi

RxNameCacheActivateEntry

RxNameCacheCheckEntry

RxNameCacheCreateEntry

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry

RxNameCacheInitialize