Freigeben über


RxPrefixTableLookupName-Funktion (prefix.h)

RxPrefixTableLookupName einen Namen in einer Präfixtabelle nachschlagen, die zum Katalog 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 Unicode-Zeichenfolgennamen, der nachschlagen soll.

[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 wurde. Wenn keine Übereinstimmung gefunden wird, gibt RxPrefixTableLookupName einen NULL- Zeiger zurück.

Bemerkungen

Diese Routine wird intern von RDBSS als Reaktion auf einen Aufruf von MUP verwendet, um einen Namen oder formular den Erstellungspfad für eine NET_ROOT- oder V_NET_ROOT-Struktur anzufordern. 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 freigegeben wird, wenn die Arbeit abgeschlossen ist. Die normale Verwendung durch einen Treiber wäre wie folgt:

  • Erwerben Sie eine freigegebene Sperre, indem Sie RxpAcquirePrefixTableLockSharedaufrufen.
  • Nachschlagen eines Namens durch Aufrufen von RxPrefixTableLookupName.
  • Lassen Sie die freigegebene Sperre los, indem Sie RxpReleasePrefixTableLockaufrufen.
Wenn eine Übereinstimmung gefunden wird, wird die Verweisanzahl auf dem gefundenen Knoten erhöht.

Bei überprüften Builds bewirkt RxPrefixTableLookupName-, dass das System ASSERTION ausführt, wenn die Länge der CanonicalName Zeichenfolge nicht größer als 0 ist.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- prefix.h (include Prefix.h)
IRQL- <= APC_LEVEL

Siehe auch

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared-

RxpReleasePrefixTableLock-