zoukankan      html  css  js  c++  java
  • vc中获取磁盘IO统计计数

    想知道进程读写磁盘的情况,可以获取当前进程或指定进程的IO计数。

    #include <Windows.h>
    int get_io_bytes(ULONGLONG * read_bytes, ULONGLONG * write_bytes,ULONGLONG * wct,ULONGLONG * rct)
    {
        IO_COUNTERS io_counter;
        HANDLE hProcess=GetCurrentProcess();//获取当前进程句柄
        if(GetProcessIoCounters(hProcess, &io_counter))
        {
            if(read_bytes) *read_bytes = io_counter.ReadTransferCount;//字节数
            if(write_bytes) *write_bytes = io_counter.WriteTransferCount;
            if(wct) *wct=io_counter.WriteOperationCount;//次数
            if(rct) *rct=io_counter.ReadOperationCount;
            return 0;
        }
        return -1;
    }

    如果是检查其他进程的话,首先设法拿到进程ID,然后进程句柄需要如下获取。
    需要为这个句柄指定查询权限,注意第一个参数:
     hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,pid); 
    获取完毕后,将句柄关闭:
     CloseHandle(hProcess); 

  • 相关阅读:
    1. MySQL的安装与配置
    18. SQL优化
    19. 优化数据库对象
    20. 锁问题
    21. 优化MySQL Server
    整合SSM基本配置
    第七周实验报告(五)&周总结
    Java作业-实验四
    Java实验三
    在IDEA中创建maven工程添加webapp
  • 原文地址:https://www.cnblogs.com/zhaojk2010/p/5974406.html
Copyright © 2011-2022 走看看