Compartilhar via


Função RtlNumberGenericTableElementsAvl (ntddk.h)

A rotina rtlNumberGenericTableElementsAvl retorna o número de elementos em uma tabela genérica.

Sintaxe

NTSYSAPI ULONG RtlNumberGenericTableElementsAvl(
  [in] PRTL_AVL_TABLE Table
);

Parâmetros

[in] Table

Ponteiro para a tabela genérica (RTL_AVL_TABLE). A tabela deve ter sido inicializada chamando RtlInitializeGenericTableAvl.

Valor de retorno

RtlNumberGenericTableElementsAvl retorna o número de elementos armazenados atualmente na tabela.

Observações

Por padrão, o sistema operacional usa árvores de reprodução para implementar tabelas genéricas, mas o RtlNumberGenericTableElementsAvl rotina funciona apenas com árvores Desabilitadas/Landis (AVL). Para configurar as rotinas de tabela genéricas para usar árvores AVL em vez de árvores de reprodução no driver, insira a seguinte instrução de definição em um arquivo de cabeçalho comum antes de incluir Ntddk.h:

#define RTL_USE_AVL_TABLES 0

Se RTL_USE_AVL_TABLES não estiver definido, você deverá usar a forma AVL das rotinas de tabela genéricas. Por exemplo, use a rotina de RtlNumberGenericTableElementsAvl em vez de RtlNumberGenericTableElements. Na chamada para RtlNumberGenericTableElementsAvl, o chamador deve passar uma estrutura de tabela RTL_AVL_TABLE em vez de RTL_GENERIC_TABLE.

Chamadores do Rtl.. As rotinas de GenericTableAvl são responsáveis por sincronizar exclusivamente o acesso à tabela genérica. Um mutex rápido exclusivo é o mecanismo de sincronização mais eficiente a ser usado para essa finalidade.

Os chamadores de RtlNumberGenericTableElementsAvl devem estar em execução no IRQL < DISPATCH_LEVEL se a memória alocada pelo chamador para a tabela genérica for paginável.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows XP.
da Plataforma de Destino Universal
cabeçalho ntddk.h (inclua Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL (consulte a seção Comentários)

Consulte também

rtlInitializeGenericTableAvl

RtlIsGenericTableEmptyAvl