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 |