Fonction RxPrefixTableLookupName (préfixe.h)
RxPrefixTableLookupName recherche un nom dans une table de préfixes utilisée pour cataloguer les noms SRV_CALL, NET_ROOT et V_NET_ROOT, puis convertit le pointeur sous-jacent en une 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 rechercher.
[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 sans correspondance.
ConnectionId
Paramètre facultatif qui représente un pointeur vers le RX_CONNECTION_ID à utiliser.
Valeur retournée
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é une fois le travail terminé. L’utilisation normale par un pilote est la suivante :
- Acquérir un verrou partagé en appelant RxpAcquirePrefixTableLockShared.
- Recherchez un nom en appelant RxPrefixTableLookupName.
- Relâchez le verrou partagé en appelant RxpReleasePrefixTableLock.
Sur les builds vérifiées, RxPrefixTableLookupName oblige le système à ASSERT si la longueur de la chaîne CanonicalName n’est pas supérieure à zéro.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | prefix.h (include Prefix.h) |
IRQL | <= APC_LEVEL |
Voir aussi
RxpAcquirePrefixTableLockExclusive