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) |