日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows笔记-内核对象

發布時間:2023/12/13 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows笔记-内核对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有哪些內核對象?

如下:存取符號對象、事件對象文件對象文件映射對象、I / O 完成端口對象、作業對象、信箱對象、互斥對象、管道對象、進程對象、信標對象、線程對象等待計時器對象等。這些對象都是通過調用函數來創建的。

?

什么是內核對象?

內核對象只是內核分配的一個內存塊,并且只能由該內核訪問。該內存塊是一種數據結構,它的成員負責維護該對象的各種信息。有些數據成員(如安全性描述符、使用計數等)在所有對象類型中是相同的,但大多數數據成員屬于特定的對象類型。例如,進程對象有一個進程I D 、一個基本優先級和一個退出代碼,而文件對象則擁有一個字節位移、一個共享模式和一個打開模式。


內核對象的數據結構只能被內核訪問,因此應用程序無法在內存中找到這些數據結構并直接改變它們的內容。Microsoft 規定了這個限制條件,目的是為了確保內核對象結構保持狀態的一致。這個限制也使Microsoft能夠在不破壞任何應用程序的情況下在這些結構中添加、 刪除和修改數據成員。


當調用一個用于創建內核對象的函數時,該函數就返回一個用于標識該對象的句柄。為了使操作系統變得更加健壯,這些句柄值是與進程密切相關的。因此,如果將該句柄值傳遞給另一個進程中的一個線程,那么這另一個進程使用你的進程的句柄值所作的調用就會失敗。如果想在多個進程中共享內核對象,要通過一定的機制

如對象句柄的繼承性,命名對象,復制對象句柄。

?

  除了內核對象外,你的應用程序也可以使用其他類型的對象,如菜單、窗口、鼠標光標、刷子和字體等。這些對象屬于用戶對象或圖形設備接口(GDI)對象,而不是內核對象。

?

當初次著手為若要確定一個對象是否屬于內核對象,最容易的方法是觀察創建該對象所用的函數。創建內核對象的所有函數幾乎都有一個參數,你可以用來設定安全屬性的信息(請參考windows筆記-內核對象的安全性)。

?

下面列出了部分用于創建內核對象的一些函數:

HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa,
DWORD dwStackSize,
PTHREAD_START_ROUTINE pfnStartAddr,
PVOID pvParam,
DWORD dwCreationFlags,
PDWORD pdwfhreadId);

HANDLE CreateFile(
PCTSTR pszFileName,
DWORD dwDesiredAccebS,
DWORD dwShareMode,
PSECURITY_ATTRIBUTES psa,
DWORD dwCreationDistribution,
DWORD dwFlagsAndAttnbutes,
HANDEE hTemplateFile);

HANDLE CreateFileMapping(
HANDLE hFile,
PSECURITY_ATTRIBUTES psa,
DWORD flProtect,
DWORD dwMdximumSizcHigh,
DWORD dwMaximumSizeLow,
PCTSTR pszName);

HANDLE CreateSemaphore(
PSECURITY_ATTRIBUTES psa,
LONG lInitialCount,
LONG lMaximumCount,
PCTSTR pszName);

本文地址:http://www.cnblogs.com/fangyukuan/archive/2010/08/31/1813117.html

?

?

轉載于:https://www.cnblogs.com/fangyukuan/archive/2010/08/31/1813117.html

總結

以上是生活随笔為你收集整理的windows笔记-内核对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。