Funzione RtlNumberGenericTableElementsAvl (ntddk.h)

La routine RtlNumberGenericTableElementsAvl restituisce il numero di elementi in una tabella generica.

Sintassi

NTSYSAPI ULONG RtlNumberGenericTableElementsAvl(
  [in] PRTL_AVL_TABLE Table
);

Parametri

[in] Table

Puntatore alla tabella generica (RTL_AVL_TABLE). La tabella deve essere stata inizializzata chiamando RtlInitializeGenericTableAvl.

Valore restituito

RtlNumberGenericTableElementsAvl restituisce il numero di elementi attualmente archiviati nella tabella.

Commenti

Per impostazione predefinita, il sistema operativo usa alberi splay per implementare tabelle generiche, ma la routine RtlNumberGenericTableElementsAvl funziona solo con alberi Adelson-Velsky/Landis (AVL). Per configurare le routine di tabella generiche per l'uso degli alberi AVL anziché degli alberi splay nel driver, inserire l'istruzione define seguente in un file di intestazione comune prima di includere Ntddk.h:

#define RTL_USE_AVL_TABLES 0

Se RTL_USE_AVL_TABLES non è definito, è necessario utilizzare il formato AVL delle routine di tabella generiche. Ad esempio, utilizzare la routine RtlNumberGenericTableElementsAvl anziché RtlNumberGenericTableElements. Nella chiamata a RtlNumberGenericTableElementsAvl, il chiamante deve passare una struttura di tabella RTL_AVL_TABLE anziché RTL_GENERIC_TABLE.

Chiamanti del Rtl.. Le routine GenericTableAvl sono responsabili della sincronizzazione esclusiva dell'accesso alla tabella generica. Un mutex veloce esclusivo è il meccanismo di sincronizzazione più efficiente da usare a questo scopo.

I chiamanti di RtlNumberGenericTableElementsAvl devono essere in esecuzione in IRQL < DISPATCH_LEVEL se la memoria allocata dal chiamante per la tabella generica è paging.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows XP.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL (vedere la sezione Osservazioni)

Vedi anche

RtlInitializeGenericTableAvl

RtlIsGenericTableEmptyAvl