Дополнительная память окна
Система обслуживает внутреннюю структуру данных для каждого окна. При регистрации класса окна, приложение может задать некоторое число дополнительных байтов памяти, называемых дополнительной памятью окна (extra window memory). При создании окна класса, система назначает и добавляет в конец указанный объем дополнительной памяти окна в конец структуры окна. Приложение может использовать эту память, чтобы сохранять специальные для окна данные.
Поскольку дополнительная память распределяется из локальной кучи системы, прикладная программа должна использовать дополнительную память окна осторожно. В системе версии 4.0 или позже, функция RegisterClassEx завершается ошибкой, если объем дополнительной памяти окна затребован больше чем 40 байтов. Если приложение требует больше чем 40 байтов, оно должно назначить свою собственную память и сохранить указатель на память в дополнительной памяти окна.
Функция SetWindowLong копирует значение в дополнительную память. Функция GetWindowLong извлекает значение из дополнительной памяти. Член сbWndExtra структуры WNDCLASSEX устанавливает объем назначаемой дополнительной памяти окна. Приложение, которое не использует память, должно инициализировать cbWndExtra нулями.