ATOM_TABLE_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTEXAPI_H
#if (PHNT_MODE != PHNT_MODE_KERNEL)

/**
 * Visible string-atom identifiers for AtomTableInformation. The array starts at
 * byte 4 and each RTL_ATOM is 2 bytes. On insufficient capacity the query copies
 * the prefix that fits and returns STATUS_INFO_LENGTH_MISMATCH; NumberOfAtoms
 * still reports the total visible count, not how many entries were copied.
 * On that failure read at most (buffer length - 4) / 2 entries, not NumberOfAtoms.
 * The table can change between calls, so allocation from the count may need retry.
 */
typedef struct _ATOM_TABLE_INFORMATION
{
    ULONG NumberOfAtoms; // Total visible string-atom count; can exceed the returned array capacity on failure.
    _Field_size_(NumberOfAtoms) RTL_ATOM Atoms[1]; // Complete array only on success; no acquired atom references.
} ATOM_TABLE_INFORMATION, *PATOM_TABLE_INFORMATION;

#endif
#endif

View code on GitHub

NtDoc

No description available.

NTinternals.net (undocumented.ntinternals.net)

ATOM_TABLE_INFORMATION describes Global Atom Table. Is returned as a result of call NtQueryInformationAtom with AtomTableInformation information class.

NumberOfAtoms

Number of members in Atoms array.

Atoms[1]

Array of Global Atoms.

Documented by

See also