Funzione RtlIsGenericTableEmpty (ntddk.h)

La routine RtlIsGenericTableEmpty determina se una tabella generica è vuota.

Sintassi

NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
  [in] PRTL_GENERIC_TABLE Table
);

Parametri

[in] Table

Puntatore alla tabella generica (RTL_GENERIC_TABLE). La tabella deve essere stata inizializzata chiamando RtlInitializeGenericTable.

Valore restituito

RtlIsGenericTableEmpty restituisce FALSE se la tabella contiene uno o più elementi, TRUE in caso contrario.

Commenti

Per impostazione predefinita, il sistema operativo usa alberi splay per implementare tabelle generiche. In alcune circostanze, le operazioni su un albero splay renderanno l'albero profondo e stretto e potrebbe anche trasformarlo in una linea retta. Gli alberi molto profondi riducono le prestazioni delle ricerche. È possibile garantire un'implementazione albero più bilanciata e superficiale di tabelle generiche usando alberi Adelson-Velsky/Landis (AVL). Se si desidera configurare le routine di tabella generiche per l'uso di alberi AVL anziché 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 RtlIsGenericTableEmptyAvl Structure anziché RtlIsGenericTableEmpty. Nella chiamata a RtlIsGenericTableEmptyAvl, il chiamante deve passare una struttura di tabella RTL_AVL_TABLE anziché RTL_GENERIC_TABLE.

I chiamanti di RtlIsGenericTableEmpty devono essere in esecuzione in ≤ APC_LEVEL se la memoria allocata dal chiamante in Table è pageable.

Requisiti

Requisito Valore
Client minimo supportato Questa routine è disponibile in Microsoft Windows 2000 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (vedere la sezione Osservazioni)

Vedi anche

RtlInitializeGenericTable