Partager via


RxPrefixTableLookupName, fonction (prefix.h)

RxPrefixTableLookupName recherche un nom dans une table de préfixe utilisée pour cataloguer SRV_CALL, NET_ROOT et V_NET_ROOT noms et convertit le pointeur sous-jacent en structure qui contient le nom.

Syntaxe

PVOID RxPrefixTableLookupName(
  [in]  IN PRX_PREFIX_TABLE  ThisTable,
  [in]  IN PUNICODE_STRING   CanonicalName,
  [out] OUT PUNICODE_STRING  RemainingName,
        IN PRX_CONNECTION_ID ConnectionId
);

Paramètres

[in] ThisTable

Pointeur vers la structure RX_PREFIX_TABLE dans laquelle regarder.

[in] CanonicalName

Pointeur vers le nom de chaîne Unicode à rechercher.

[out] RemainingName

Pointeur vers le nom de chaîne Unicode de la partie du nom qui n’a pas été incompatible.

ConnectionId

Paramètre facultatif qui représente un pointeur vers la RX_CONNECTION_ID à utiliser.

Valeur de retour

RxPrefixTableLookupName retourne un pointeur vers le nœud trouvé si une correspondance est trouvée. Si aucune correspondance n’est trouvée, RxPrefixTableLookupName retourne un pointeur NULL.

Remarques

Cette routine est utilisée en interne par RDBSS en réponse à un appel de MUP pour revendiquer un nom ou former le chemin de création d’une structure NET_ROOT ou V_NET_ROOT. La routine RxPrefixTableLookupName peut également être utilisée par les mini-redirecteurs réseau tant que le verrou approprié est acquis avant d’accéder à la table et que le verrou est libéré lorsque le travail est terminé. L’utilisation normale par un pilote serait la suivante :

  • Acquérir un verrou partagé en appelant RxpAcquirePrefixTableLockShared.
  • Recherchez un nom en appelant RxPrefixTableLookupName.
  • Relâchez le verrou partagé en appelant RxpReleasePrefixTableLock.
Notez que si une correspondance est trouvée, le nombre de références sur le nœud trouvé est incrémenté.

Sur les builds vérifiées, RxPrefixTableLookupName entraîne l’assertion du système si la longueur de la chaîne CanonicalName n’est pas supérieure à zéro.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête prefix.h (include Prefix.h)
IRQL <= APC_LEVEL

Voir aussi

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared

RxpReleasePrefixTableLock