zoukankan      html  css  js  c++  java
  • 016 句柄2

    ● 句柄

      ● 句柄内核对象递增数值

      ● 进程内核对象

        ○  句柄表

        ○  索引

        ○  指向内核对象的指针

        ○  内存空间

        ○  标志位

      ● 句柄是不能够跨进程存在的     

        ○  File Obj -> 地址

        ○  生成索引

          ○  A索引表 R3  ->  拿到索引  ->

      ● closehandle 可以关闭进程句柄

        ○ 改变其他内核对象的使用计数

        ○ 传递索引值

        ○ 根据索引找到当前索引的内核对象

        ○ 找到会返回一个 TRUE 找不到返回一个 FALSE

        ○ 如果不关闭句柄的话会造成过多的内存使用

          ○ 进程死亡后,系统会对进程句柄表里面的内核对象进行释放

     1 #include <stdio.h>
     2 #include <windows.h>
     3 int main( int argc, char *argv[] )
     4 {
     5     printf( "Hello World!
    " );
     6     HANDLE hFile = CreateFile(TEXT("one.txt"),
     7                             GENERIC_READ,
     8                             0,
     9                             NULL,
    10                             CREATE_ALWAYS,
    11                             FILE_ATTRIBUTE_NORMAL,
    12                             NULL);
    13         HANDLE hFile2 = CreateFile(TEXT("one.txt"),
    14                             GENERIC_READ,
    15                             0,
    16                             NULL,
    17                             CREATE_ALWAYS,
    18                             FILE_ATTRIBUTE_NORMAL,
    19                             NULL);
    20     return 0;
    21 }

  • 相关阅读:
    react 性能优化
    JS获取当前网页大小以及屏幕分辨率等
    创建对象的6种方式总结
    版本号规则
    JS事件模型
    浅谈虚拟DOM
    浏览器的回流与重绘
    JavaScript预编译
    canvas学习笔记
    java、tomcat安装
  • 原文地址:https://www.cnblogs.com/sdk123/p/7114905.html
Copyright © 2011-2022 走看看