原副标题:介面第一类的缓存亲源性第二卷: 电子设备语句
在上一则该文中,他们单纯地如是说了控制询问处标识符的缓存亲源性准则。
今天,他们来谈谈电子设备语句(Device Context, 全称 DC) 。
电子设备语句也有一定程度的缓存亲源性。初始化 DC 相关表达式,比如 GetDC 的缓存,必须在同两个缓存中初始化其相关联的 ReleaseDC。但和询问处标识符一样,在 DC 第一类的存活期内,任何缓存都可以出访它。
假如你希望以多缓存方式采用 DC,则负责管理协同该电子设备语句的普通用户,以期一次多于两个缓存采用它。
多于两个命令行绘出到 DC 中,即便该命令行正好位于不同的缓存上也是如此。
DC 的缓存亲源茹基夫询问处标识符的缓存亲源性要错综繁杂得多,因为假如你完蛋并从严重错误的缓存释放出来 DC,事情似乎仍然运转较好,但询问处命令行的内部天然资源西厄县会一塌糊涂,你可能会在接著从 GetDC 获得两个合宪的 DC 标识符,然后介面会呈现你所不期望看到的模样,甚至N43EI243SL插件的直接崩盘作为故事情节。
在下一则该文中,我将如是说其他的介面原素的缓存亲源性,请未完待续。
归纳
繁杂介面合作开发起来需要耗费一些工夫,在合作开发流形安德森睿智办公设备网络平台(Topomel Box)的过程中,我常常遵从两个单纯的准则:仅在主介面缓存中驾驭介面第一类,工作缓存只用以干“坐板凳脏活”。
有了那个标准化的准则,你会形成关节梦境:那个更狸尾豆的标识符应该放到这儿。
单纯,是一种美。
最后
Raymond Chen的《The Old New Thing》是我非常讨厌的网志之一,里面有很多关于Windows的小科学知识,对于各阶层Windows网络平台合作开发人员来说,的确十分有协助。
责任编辑源自:《Thread affinity of user interface objects, part 2: Device contexts》