Compartilhar via


Função RxNameCacheFetchEntry (namcache.h)

RxNameCacheFetchEntry procura uma correspondência com uma cadeia de caracteres de nome especificada para uma entrada de NAME_CACHE.

Sintaxe

PNAME_CACHE RxNameCacheFetchEntry(
  [in] IN PNAME_CACHE_CONTROL NameCacheCtl,
  [in] IN PUNICODE_STRING     Name
);

Parâmetros

[in] NameCacheCtl

Um ponteiro para a estrutura NAME_CACHE_CONTROL a ser digitalizada.

[in] Name

Um ponteiro para a cadeia de caracteres Unicode que contém o nome a ser correspondido.

Retornar valor

RxNameCacheFetchEntry retornará um ponteiro para a estrutura de NAME_CACHE correspondente se uma correspondência tiver sido encontrada ou NULL se a correspondência falhar.

Comentários

RxNameCacheFetchEntry procura uma correspondência na lista ativa do cache de nomes para o parâmetro Name especificado. Se o nome for encontrado, a entrada será removida da lista ativa do cache de nomes e um ponteiro para a estrutura NAME_CACHE será retornado. Caso contrário, NULL será retornado.

A entrada NAME_CACHE é removida da lista ativa para evitar possíveis problemas com outro thread que está tentando atualizar a mesma entrada ou observando que ela expirou e colocando-a na lista gratuita. É possível obter várias entradas com o mesmo nome por threads diferentes, mas, eventualmente, elas expirarão.

Se uma entrada de NAME_CACHE correspondente for encontrada, nenhuma marcar será feita para expiração. O chamador deve marcar para expiração porque talvez ele queira executar alguma ação especial.

Como efeito de lado à medida que a lista ativa do cache de nomes é verificada, todas as entradas não correspondentes que expiraram são colocadas na lista gratuita. O bloqueio de cache de nome é adquirido para proteger essa operação.

Requisitos

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

Confira também

RxNameCacheActivateEntry

RxNameCacheCheckEntry

RxNameCacheCreateEntry

RxNameCacheExpireEntry

RxNameCacheExpireEntryWithShortName

RxNameCacheFinalize

RxNameCacheFreeEntry

RxNameCacheInitialize