Так как некоторые методы ведут
Так как некоторые методы ведут себя несколько по-разному в этих интерфейсах, смешивание методов из IDirectDraw и IDirectDraw2 может вызывать непредсказуемые результаты. Вы должны использовать функции только из одного из этих интерфейсов одновременно; не используйте некоторые функции из IDirectDraw и функции из IDirectDraw2.
Для большего количества информации относительно использования интерфейса IDirectDrawSurface2, см. Интерфейс IDirectDrawSurface2.
Если IDirectDrawSurface:: SetPalette вызывается несколько раз последовательно для той же самой поверхности с той же самой палитрой, ссылка на палитру, будет увеличена только однажды. Последующие обращения не будут воздействовать на счет ссылки палитры.
Операции блиттинга обращаются только к одиночному уровню в mipmap цепочке. Для блиттинга всей цепочки mipmap, каждый уровень должен быть обработан отдельно.
Метод IDirectDrawSurface::Flip переключит все уровни mipmap из уровня, присоединненного к самому низкому уровню в карте. Поверхность адресата может также обеспечивать, что все уровни в mipmap переключатся на обратный буфер во всей цепочке. Этот обратный буфер соответствует обеспеченной отмене. Например, если третий обратный буфер в переключающейся цепочке обеспечен, все уровни в mipmap переключатся на третий обратный буфер.
Число уровней в mipmap цепочке сохранено явно. Когда поверхностное описание mipmap получено (используя IDirectDrawSurface:: Lock или IDirectDrawSurface:: GetSurfaceDesc), dwMipMapCount член будет содержать число уровней в mipmap, включая верхний уровень. Для других уровней в карте, dwMipMapCount определит число уровней от той карты до самой маленькой карты в цепочке.
Фактическая интерпретация значения глубины - специфична для 3D просчета.
Эффективность операционной системы может быть ухудшена, если слишком много памяти блокировано.
Возвращает DD_OK если успешно, или одно из следующих значений ошибки:
DDERR_CANTPAGELOCK DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS DDERR_SURFACELOST
dwFlags
Этот параметр не используется в это время и должен быть установлен в 0.
Этот метод работает только на поверхностях системной памяти; не будет блокироваться страница поверхности памяти дисплея или эмулированной основной поверхности. Если этот метод обратился к поверхности памяти дисплея,он не будет делать ничего за исключением возвращения DD_OK.
Чтобы гарантировать согласие с COM, этот метод - не, часть интерфейса IDirectDrawSurface, но принадлежит интерфейсу IDirectDrawSurface2. Чтобы использовать этот метод, Вы должны сначала сделать запрос для интерфейса IDirectDrawSurface2. Для большего количества информации, см. Интерфейс IDirectDrawSurface2.