zoukankan      html  css  js  c++  java
  • 异步IO调用

    // 02 异步过程调用.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <windows.h>
    
    
    typedef struct _MYOVERLAPPED
    {
        OVERLAPPED  sysOver;
    
    
        char* buf;
    }MYOVERLAPPED, *PMYOVERLAPPED;
    
    void WINAPI Fun(DWORD ErrorCode, DWORD dwSize, LPOVERLAPPED pOverLapped)
    {
        PMYOVERLAPPED pMyOver = (PMYOVERLAPPED)pOverLapped;
        printf("%x%x", *(pMyOver->buf), *(pMyOver->buf + 1));
    
    }
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        HANDLE hFile = CreateFile(
            L"D:\1.exe",            //文件路径
            GENERIC_READ | GENERIC_WRITE, //操作权限
            0,                                                        //共享方式
            NULL,                                                 //安全属性
            OPEN_EXISTING,                               //打开方式
            FILE_FLAG_OVERLAPPED,                 //最重要的!!!!已异步的方式打开一个文件
            NULL                                                   //没用
            );
        DWORD dwSize = GetFileSize(hFile, NULL);                        //获取文件大小
        DWORD dwRubbish = 0;
        MYOVERLAPPED  ol = {};
        char* buf = new char[dwSize];
        ol.buf = buf;
    
        ReadFileEx(hFile, buf, dwSize, (LPOVERLAPPED)&ol, Fun);
        SleepEx(0, TRUE);
        system("pause");
        return 0;
    }
  • 相关阅读:
    Ubuntu 各版本代号简介
    Ubuntu如何同步网络时间
    Ubuntu下修改DNS重启也能用的方法
    provider networks和self-service networks
    openstack 架构
    系统故障排除
    系统日志管理
    系统引导
    网络管理
    Linux下开启FTP服务
  • 原文地址:https://www.cnblogs.com/Alyoyojie/p/5317260.html
Copyright © 2011-2022 走看看