Funzione RxPrefixTableLookupName (prefix.h)
RxPrefixTableLookupName cerca un nome in una tabella di prefisso utilizzata 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 .
Commenti
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 di NET_ROOT o di V_NET_ROOT. La routine RxPrefixTableLookupName può essere usata anche dai 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 build controllate RxPrefixTableLookupName fa sì che il sistema asserissi se la lunghezza della stringa CanonicalName non è maggiore di zero.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | prefix.h (include Prefix.h) |
IRQL | <= APC_LEVEL |
Vedi anche
RxpAcquirePrefixTableLockExclusive