Funzione RxPrefixTableLookupName (prefix.h)
RxPrefixTableLookupName cerca un nome in una tabella prefisso usata per catalogare SRV_CALL, NET_ROOT e V_NET_ROOT nomi e converte il puntatore sottostante in una struttura contenente il nome.
Sintassi
PVOID RxPrefixTableLookupName(
[in] IN PRX_PREFIX_TABLE ThisTable,
[in] IN PUNICODE_STRING CanonicalName,
[out] OUT PUNICODE_STRING RemainingName,
IN PRX_CONNECTION_ID ConnectionId
);
Parametri
[in] ThisTable
Puntatore alla struttura RX_PREFIX_TABLE in cui eseguire l'aspetto.
[in] CanonicalName
Puntatore al nome della stringa Unicode da cercare.
[out] RemainingName
Puntatore al nome della stringa Unicode della parte del nome non corrispondente.
ConnectionId
Parametro facoltativo che rappresenta un puntatore al RX_CONNECTION_ID da utilizzare.
Valore restituito
RxPrefixTableLookupName restituisce un puntatore al nodo trovato se viene trovata una corrispondenza. Se non viene trovata alcuna corrispondenza, RxPrefixTableLookupName restituisce un puntatore NULL.
Osservazioni
Questa routine viene usata internamente da RDBSS in risposta a una chiamata da MUP per richiedere un nome o formare il percorso di creazione per una struttura NET_ROOT o V_NET_ROOT. La routine RxPrefixTableLookupName può essere usata anche da mini-redirector di rete, purché il blocco appropriato venga acquisito prima di accedere alla tabella e il blocco viene rilasciato al termine del lavoro. L'uso normale da parte di un driver è il seguente:
- Acquisire un blocco condiviso chiamando RxpAcquirePrefixTableLockShared.
- Cercare un nome chiamando RxPrefixTableLookupName.
- Rilasciare il blocco condiviso chiamando RxpReleasePrefixTableLock.
Nelle compilazioni controllate, RxPrefixTableLookupName fa sì che il sistema asserisce se la lunghezza della stringa CanonicalName non è maggiore di zero.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | prefix.h (include Prefix.h) |
IRQL | <= APC_LEVEL |
Vedere anche
RxpAcquirePrefixTableLockExclusive