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 scannende NAME_CACHE_CONTROL Struktur.
[in] Name
Ein Zeiger auf die Unicode-Zeichenfolge, die den namen enthält, der übereinstimmen soll.
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.
Bemerkungen
RxNameCacheFetchEntry sucht nach einer Übereinstimmung in der aktiven Liste des Namenscaches 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 Eintrag 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 es in die kostenlose Liste eingibt. Es ist möglich, mehrere Einträge mit demselben Namen durch verschiedene Threads abzurufen, aber schließlich laufen sie ab.
Wenn ein übereinstimmende NAME_CACHE Eintrag gefunden wird, wird kein Ablaufdatum überprüft. Der Aufrufer muss auf ablaufen, da er möglicherweise eine spezielle Aktion ausführen möchte.
Als Nebeneffekt, da die aktive Liste des Namenscaches gescannt wird, werden alle nicht übereinstimmenden Einträge, die abgelaufen sind, in der kostenlosen Liste platziert. Die Namenscachesperre wird abgerufen, um diesen Vorgang zu schützen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | namcache.h (include Namcache.h) |
IRQL- | <= APC_LEVEL |