RxNameCacheFetchEntry-Funktion (namcache.h)
RxNameCacheFetchEntry sucht nach einer Übereinstimmung mit einer angegebenen Namenszeichenfolge für einen NAME_CACHE Eintrag.
Syntax
PNAME_CACHE RxNameCacheFetchEntry(
[in] IN PNAME_CACHE_CONTROL NameCacheCtl,
[in] IN PUNICODE_STRING Name
);
Parameter
[in] NameCacheCtl
Ein Zeiger auf die zu überprüfende NAME_CACHE_CONTROL-Struktur.
[in] Name
Ein Zeiger auf die Unicode-Zeichenfolge, die den abzugleichenden Namen enthält.
Rückgabewert
RxNameCacheFetchEntry gibt einen Zeiger auf die übereinstimmende NAME_CACHE-Struktur zurück, wenn eine Übereinstimmung gefunden wurde, oder NULL , wenn die Übereinstimmung fehlgeschlagen ist.
Hinweise
RxNameCacheFetchEntry sucht in der Liste des aktiven Namenscaches nach einer Übereinstimmung für den angegebenen Name-Parameter . Wenn der Name gefunden wird, wird der Eintrag aus der Aktiven Liste des Namenscaches entfernt, und ein Zeiger auf die NAME_CACHE-Struktur wird zurückgegeben. Andernfalls wird NULL zurückgegeben.
Der NAME_CACHE Eintrags wird aus der aktiven Liste entfernt, um mögliche Probleme mit einem anderen Thread zu vermeiden, der versucht, denselben Eintrag zu aktualisieren oder zu beobachten, dass er abgelaufen ist, und ihn in die kostenlose Liste einzufügen. Es ist möglich, mehrere Einträge mit demselben Namen von verschiedenen Threads abzurufen, aber schließlich laufen sie ab.
Wenn ein übereinstimmend NAME_CACHE Eintrag gefunden wird, wird kein Ablauf überprüft. Der Aufrufer muss den Ablauf überprüfen, da er möglicherweise eine spezielle Aktion ausführen möchte.
Als Nebeneffekt, wenn die Aktive Liste des Namenscaches gescannt wird, werden alle nicht übereinstimmenden Einträge, die abgelaufen sind, in die kostenlose Liste aufgenommen. Die Namenscachesperre wird abgerufen, um diesen Vorgang zu schützen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | namcache.h (include Namcache.h) |
IRQL | <= APC_LEVEL |