初识内核对象
来源:互联网 发布:微商加粉软件免费下载 编辑:程序博客网 时间:2024/05/20 23:58
最近看多线程同步时,谈到了事件对象、互斥对象、信号量对象是内核对象,而关键代码段对象不是内核对象,于是探究了下内核对象。
(1)内核对象概念
内核对象是内核分配的内存块,且只能由内核访问。(内核对象的内存块是一种数据结构,数据结构各种成员维护该内核对象)
(2)内核对象只能被内核访问,所以应用程序无法在内存中找到这些数据结构,并修改它们的内容。
(3)内核对象创建
调用创建内核对象的函数,该函数会返回一个内核对象的句柄。
(4)如何判断一个对象是否是内核对象
通过创建内核对象的函数判断,如果是内核对象,其创建函数中通常有安全属性。
!!除了内核对象外,你的应用程序也可以使用其他类型的对象,如菜单、窗口、鼠标光标、刷子和字体等。这些对象属于用户对象或图形设备接口(GDI)对象,而不是内核对象。
常用的创建内核对象的函数:
HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTESlpThreadAttributes, SIZE_TdwStackSize, LPTHREAD_START_ROUTINElpStartAddress, LPVOIDlpParameter, DWORDdwCreationFlags, LPDWORDlpThreadId);
HANDLE CreateSemaphore( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName);
HANDLE CreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttributes, BOOLbInitialOwner, LPCTSTRlpName);
HANDLE CreateEvent( LPSECURITY_ATTRIBUTESlpEventAttributes, BOOLbManualReset, BOOLbInitialState, LPCTSTRlpName);
0 0
- 初识内核对象
- Win32核心编程 读书笔记一 初识内核对象
- 初识对象
- Linux内核初识
- 初识内核链表
- 初识PHP内核
- 初识内核模块编译
- 初识Linux内核-DIY内核模块
- 初识面向对象
- 初识面向对象
- 初识Java面向对象
- javascript之对象初识
- 初识面向对象
- 初识面向对象
- OC--面向对象初识
- RegExp对象初识
- 初识Object-C对象
- 01.对象初识
- iOS Block
- JPA简介
- cinder list查询服务出现error
- 第7章 进程环境
- iOS9适配之Bitcode错误
- 初识内核对象
- UVA10976 Fractions Again?!
- JQuery flot pie chart plugin简单例子
- IOS 获取苹果手机的分辨率
- 【排序算法】选择排序
- 字符编码
- iPhone开发之UIScrollView滚动组件的使用(三) 拖线实现按钮控制大图移动之contentInsets增加内容边距
- HDU 1171 Big Event in HDU
- Gym 100733E Shi's throne(水题)