Freigeben über


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

Siehe auch

RxNameCacheActivateEntry-

RxNameCacheCheckEntry-

RxNameCacheCreateEntry-

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry-

RxNameCacheInitialize-