zoukankan      html  css  js  c++  java
  • 《Windows核心编程》——内核对象

    内核对象

    • 每个内核对象只是内核分配的一个内存块,并且只能由内核访问。
    • 应用程序通过API+句柄访问内核对象。
    • 内核对象包含一使用计数的数据成员,每多一个进程访问该对象,计数加一,反之减一。计数为0,对象被销毁。
    • 每个进程都有一个内核对象句柄表,保存该进程使用内核对象的句柄。
    • 当进程终止运行时,系统会自动扫描进程的句柄表。如果该表拥有任何无效项目(即在终止进程运行前没有关闭的对象),系统将关闭这些对象句柄。如果这些对象中的任何对象的使用计数降为0,那么内核便撤消该对象。

    跨进程共享内核对象

    • 继承对象句柄:(WinCE不支持)
      • 父子进程
      • 句柄值相同
      • 父进程通过命令行等方式通知子进程句柄值
    • 命名内核对象:
      • 对象名惟一性的问题
    • 复制对象句柄:
      • 1 BOOL DuplicateHandle(
        2   HANDLE hSourceProcessHandle,
        3   HANDLE hSourceHandle,
        4   HANDLE hTargetProcessHandle,
        5   LPHANDLE lpTargetHandle,
        6   DWORD dwDesiredAccess,
        7   BOOL bInheritHandle,
        8   DWORD dwOptions
        9 );
  • 相关阅读:
    编码原则 之 Once and Only Once
    编码原则 之 Stable Dependencies
    分布式锁
    DTS(待了解)
    BPMN(待了解)
    criteo marketing api 相关
    enum & json 之间的转换
    bootstrap:modal & iframe
    记Ubuntu Mongodb 和 Mysql的安装与使用
    齐次和非齐次线性方程组的解法
  • 原文地址:https://www.cnblogs.com/dahai/p/2818079.html
Copyright © 2011-2022 走看看