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