Проблемы с оконным режимом в DirectDraw
Инициализирую DirectDraw, устанавливаю режим DDSCL_NORMAL в SetCooperativeLevel. Создаю первичную поверхность(других поверхностей не создаю). Разрешение экрана стоит 800x600x16. В обработке сообщения WM_PAINT я вызываю свою функцию. Эта функция замыкает первичную поверхность функцией Lock, чтобы скопировать на нее прямоугольную область из буфера. Но до копирования дело не доходит. На функции Lock система сообщает "Программа совершила недопустимую операцию..." и закрывает мою программу. Думая, что программа не работает потому, что теряет поверхность, я вставил строки для ее проверки и восстановления. После этого программа стала выдавать ту же ошибку на функции IsLost, которая проверяет, не потеряна ли поверхность. Что происходит и что мне делать?