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 ü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

Weitere Informationen

RxNameCacheActivateEntry

RxNameCacheCheckEntry

RxNameCacheCreateEntry

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry

RxNameCacheInitialize