游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1348|回复: 2

DIRECTDRAW 下的表面上锁形同虚设.

[复制链接]

1

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-2-28 22:50:00 | 显示全部楼层 |阅读模式

@. 当某一块表面被锁住而未开锁时,任何对此表面或次表面的子表面的锁操作将被拒绝.但若申请锁定另外的与此表面不相交的表面时,还是能够成功的.
@. 若某一块表面有限(有LOCKRECT确定大小)被上锁,表面上看在下锁之前我们不能对其中的象素进行操作,但我们可以获得另一不相交的表面(甚至是一个象素)的首指针,此时我们却可以对屏幕显存地址的任意一处进行操作(甚至所操作的表面已经被锁住).这说明只要想办法获得一块表面的首地址我们便可以通过对指针的操作而对所有的表面为所欲为了,haha.

1

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2006-3-1 14:32:00 | 显示全部楼层

Re:DIRECTDRAW 下的表面上锁形同虚设.

的确是这样,但是,锁定只是用来保证线程安全,并没有什么保密的意义。

14

主题

163

帖子

178

积分

注册会员

Rank: 2

积分
178
QQ
发表于 2006-3-1 18:44:00 | 显示全部楼层

Re:DIRECTDRAW 下的表面上锁形同虚设.

你知道pitch的作用吗?这个就是一行的跨度.其实我们只要获得一个lock以后,我们就可以获得屏幕任何一点的修改权,之所以锁住,那只是一个线程锁的作用.
怎么证实呢,你只要到窗口模式就知道了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 17:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表