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 |