Función RxPrefixTableLookupName (prefix.h)
RxPrefixTableLookupName busca un nombre en una tabla de prefijos que se usa para catalogar SRV_CALL, NET_ROOT y V_NET_ROOT nombres y convierte el puntero subyacente en una estructura que contiene el nombre.
Sintaxis
PVOID RxPrefixTableLookupName(
[in] IN PRX_PREFIX_TABLE ThisTable,
[in] IN PUNICODE_STRING CanonicalName,
[out] OUT PUNICODE_STRING RemainingName,
IN PRX_CONNECTION_ID ConnectionId
);
Parámetros
[in] ThisTable
Puntero a la estructura RX_PREFIX_TABLE en la que se va a buscar.
[in] CanonicalName
Puntero al nombre de cadena Unicode que se va a buscar.
[out] RemainingName
Puntero al nombre de cadena Unicode de la parte del nombre sin coincidencia.
ConnectionId
Parámetro opcional que representa un puntero al RX_CONNECTION_ID que se va a usar.
Valor devuelto
RxPrefixTableLookupName devuelve un puntero al nodo que se encontró si se encuentra una coincidencia. Si no se encuentra ninguna coincidencia, RxPrefixTableLookupName devuelve un puntero NULL .
Comentarios
RDBSS usa internamente esta rutina en respuesta a una llamada desde MUP para reclamar un nombre o formar la ruta de acceso de creación para una estructura de NET_ROOT o V_NET_ROOT. La rutina RxPrefixTableLookupName también puede ser utilizada por los miniireccionadores de red siempre que se adquiera el bloqueo adecuado antes de acceder a la tabla y el bloqueo se libere cuando se complete el trabajo. El uso normal de un controlador sería el siguiente:
- Adquiera un bloqueo compartido llamando a RxpAcquirePrefixTableLockShared.
- Busque un nombre llamando a RxPrefixTableLookupName.
- Libere el bloqueo compartido llamando a RxpReleasePrefixTableLock.
En las compilaciones activadas, RxPrefixTableLookupName hace que el sistema aserte si la longitud de la cadena CanonicalName no es mayor que cero.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | prefix.h (include Prefix.h) |
IRQL | <= APC_LEVEL |
Consulte también
RxpAcquirePrefixTableLockExclusive