随笔分类 - 阅读笔记
摘要:1. 什么是内核对象?a)内核对象是一个内存块,它只能由操作系统内核分配管理,并由操作系统内核访问。但Windows系统一系列的调用接口供我们操纵这些内核对象。这个内存块是一个数据结构,其成员维护着与该内核对象相关的信息。b)为了增强操作系统的可靠性,当一个进程创建一个内核对象后,函数返回的内核对象句柄只能在本进程中使用,因为这个句柄值是和进程相关的。但可以根据某种机制跨边界共享内核对象。c)内核对象使用计数: 内核对象的所有者是操作系统内核,而不是进程。因此一个内核对象的生命周期可能长于创建它的那个进程。操作系统通过内核对象里的使用计数成员感知当前有多少个进程在使用这个内核对象,当这个内核.
阅读全文
摘要:1.WindowsVista中每个Unicode字符都是用UTF-16编码。2.Unicode前0x7F个字符兼容ASCII编码。UTF-8 :将一些字符编码为1个字节,一些字符编码为2个字节,一些字符编码为3个字节,一些字符编码为4个字节。UTF-16 :将每个字符编码为2个字节(16位)。UTF-32 :将每个字符都编码为4个字节,较少用,一般在应用程序内部使用。3.C语言中的字符表示:char:8位ASCII编码wchar_t:16位Unicode(UTF-16)编码4.使用UTF-16字符串的时候应在字符串前面加上大写字母L。表明使用一个unicode字符串。5.Windows编程中源
阅读全文
摘要:1.常见返回值类型:返回值类型为VOID型:这种函数不可能失败!返回值类型为BOOL型:应避免测试返回值是否为TRUE,最稳妥的做法是检查它是否不为FALSE。返回值为HANDLE型:函数若是失败,返回NULL,HANDLE变量将表示一个可操纵对象。有些函数发生错误将返回INVALID_HANDLE_VALUE。返回值为类型LONG/DWORD型:较为复杂,调用前应阅读SDK文档2.当Windows函数检测到错误时,它会使用一种名为“线程本地存储区”的机制将相应的错误码与“主调线程”(发生调用的线程)关联到一起。这种机制使不同的线程能独立运行,不会出现相互干扰对方的错误代码的情况。函数返回时,
阅读全文

浙公网安备 33010602011771号