The GlobalAddAtom function adds a character string to the global atom table and returns a unique value (an atom) identifying the string.
ATOM GlobalAddAtom(
LPCTSTR lpString |
// pointer to the string to add |
); |
If the function succeeds, the return value is the newly created atom.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If the string already exists in the global atom table, the atom for the existing string is returned and the atom’s reference count is incremented.
The string associated with the atom is not deleted from memory until its reference count is zero. For more information, see the GlobalDeleteAtom function.
Global atoms are not deleted automatically when the application terminates. For every call to the GlobalAddAtom function, there must be a corresponding call to the GlobalDeleteAtom function.
GlobalAddAtom returns a string atom whose value is in the range 0xC000 through 0xFFFF.
If the lpString parameter has the form “#1234”, GlobalAddAtom returns an integer atom whose value is the 16-bit representation of the decimal number specified in the string (0x04D2, in this example). If the decimal value specified is 0x0000 or a value in the range 0xC000 through 0xFFFF, the return value is zero, indicating an error. If lpString is in the range 0x0001 through 0xBFFF, the return value is the low-order word of lpString.
The MAKEINTATOM macro can be used to convert a WORD value into a string that can be added to the atom table by using the GlobalAddAtom function.
AddAtom, DeleteAtom, FindAtom, GetAtomName, GlobalDeleteAtom, GlobalFindAtom, GlobalGetAtomName, MAKEINTATOM