windows基础知识

windows基础知识

错误处理
  1. GetLastError返回的是最后的错误码,即更早的错误码可能被覆盖
  2. GetLastError可能用于描述成功的原因(CreatEvent)
字符和字符串处理

宽字节转多字节WideCharToMultiByte,反之MultiByteToWideChar。

内核对象

内核
内核对象的数据结构只能由内核对象访问,windows提供API访问.
内核对象用一个安全描述符来保护,安全描述符描述了谁可以使用,创建内核对象的函数几乎都有一个指向SECURERITY_ATTRIBUYES结构的指针.
KEY_ALL_ACESS 和KEY_QUERY_VALUE

进程内核对象句柄表
进程在初始化的时候,系统为其分配一个句柄表,此表仅供内核对象使用,不适用与用户对象或GDI对象,每个结构包含指向内核对象内存块的指针,一个访问的掩码和一些标志.
具体的过程:
一个进程初始化的时候,其句柄表为空,当进程的一个线程调用一个会创建内核对象的函数时,内核将这个对象初始化,并创建一个内存块,然后内核扫描进程的句柄表,然后对其进行相应的操作.
一些创建内核对象的函数:
CreateThread()
CreateFile()
CreateFileMapping()
CreateSemaphore()
用于创建内核对象的函数都会返回一个与进程相关的句柄,这个句柄可由同一进程的线程调用
不使用了调用CloseHandle()关闭内核对象
修改句柄的标志Sethandleinfomation()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值