Função RxPrefixTableLookupName (prefix.h)

RxPrefixTableLookupName procura um nome em uma tabela de prefixo usada para catalogar SRV_CALL, NET_ROOT e V_NET_ROOT nomes e converte o ponteiro subjacente em uma estrutura que contém o nome.

Sintaxe

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

Um ponteiro para a estrutura RX_PREFIX_TABLE na qual procurar.

[in] CanonicalName

Um ponteiro para o nome da cadeia de caracteres Unicode a ser pesquisada.

[out] RemainingName

Um ponteiro para o nome da cadeia de caracteres Unicode da parte do nome que não foi correspondida.

ConnectionId

Um parâmetro opcional que representa um ponteiro para o RX_CONNECTION_ID a ser usado.

Retornar valor

RxPrefixTableLookupName retorna um ponteiro para o nó que foi encontrado se uma correspondência for encontrada. Se nenhuma correspondência for encontrada, RxPrefixTableLookupName retornará um ponteiro NULL .

Comentários

Essa rotina é usada internamente pelo RDBSS em resposta a uma chamada do MUP para reivindicar um nome ou formar o caminho de criação para uma estrutura de NET_ROOT ou V_NET_ROOT. A rotina RxPrefixTableLookupName também pode ser usada por minidiretórios de rede, desde que o bloqueio apropriado seja adquirido antes de acessar a tabela e o bloqueio seja liberado quando o trabalho for concluído. O uso normal por um driver seria o seguinte:

  • Adquira um bloqueio compartilhado chamando RxpAcquirePrefixTableLockShared.
  • Pesquise um nome chamando RxPrefixTableLookupName.
  • Libere o bloqueio compartilhado chamando RxpReleasePrefixTableLock.
Observe que, se uma correspondência for encontrada, a contagem de referência no nó encontrado será incrementada.

Em builds verificados, RxPrefixTableLookupName fará com que o sistema assert se o comprimento da cadeia de caracteres CanonicalName não for maior que zero.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho prefix.h (inclua Prefix.h)
IRQL <= APC_LEVEL

Confira também

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared

RxpReleasePrefixTableLock