RxPrefixTableLookupName-Funktion (prefix.h)
RxPrefixTableLookupName sucht einen Namen in einer Präfixtabelle, die zum Katalogisieren von SRV_CALL, NET_ROOT und V_NET_ROOT Namen verwendet wird, und konvertiert den zugrunde liegenden Zeiger in eine Struktur, die den Namen enthält.
Syntax
PVOID RxPrefixTableLookupName(
[in] IN PRX_PREFIX_TABLE ThisTable,
[in] IN PUNICODE_STRING CanonicalName,
[out] OUT PUNICODE_STRING RemainingName,
IN PRX_CONNECTION_ID ConnectionId
);
Parameter
[in] ThisTable
Ein Zeiger auf die RX_PREFIX_TABLE Struktur, in der gesucht werden soll.
[in] CanonicalName
Ein Zeiger auf den Nachschlagenamen der Unicode-Zeichenfolge.
[out] RemainingName
Ein Zeiger auf den Unicode-Zeichenfolgennamen des Teils des Namens, der nicht übereinstimmend war.
ConnectionId
Ein optionaler Parameter, der einen Zeiger auf die zu verwendende RX_CONNECTION_ID darstellt.
Rückgabewert
RxPrefixTableLookupName gibt einen Zeiger auf den Knoten zurück, der gefunden wurde, wenn eine Übereinstimmung gefunden wird. Wenn keine Übereinstimmung gefunden wird, gibt RxPrefixTableLookupName einen NULL-Zeiger zurück.
Hinweise
Diese Routine wird intern von RDBSS als Reaktion auf einen Aufruf von MUP verwendet, um einen Namen anzufordern oder den Erstellungspfad für eine NET_ROOT- oder V_NET_ROOT-Struktur zu bilden. Die RxPrefixTableLookupName-Routine kann auch von Netzwerk-Miniumleitungen verwendet werden, solange die entsprechende Sperre vor dem Zugriff auf die Tabelle abgerufen wird und die Sperre nach Abschluss der Arbeit aufgehoben wird. Die normale Verwendung durch einen Treiber wäre wie folgt:
- Rufen Sie eine freigegebene Sperre auf, indem Sie RxpAcquirePrefixTableLockShared aufrufen.
- Suchen Sie einen Namen, indem Sie RxPrefixTableLookupName aufrufen.
- Geben Sie die freigegebene Sperre frei, indem Sie RxpReleasePrefixTableLock aufrufen.
Bei überprüften Builds bewirkt RxPrefixTableLookupName , dass das System ASSERT erhält, wenn die Länge der CanonicalName-Zeichenfolge nicht größer als 0 (null) ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | prefix.h (include Prefix.h) |
IRQL | <= APC_LEVEL |
Weitere Informationen
RxpAcquirePrefixTableLockExclusive