• 异步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;
    }
  • 相关阅读:
    2016huasacm暑假集训训练四 递推_A
    2016huasacm暑假集训训练三 G
    2016huasacm暑假集训训练三 F
    今年暑假不AC
    Who's in the Middle
    The Suspects
    食物链
    抓牛问题
    士兵队列训练问题
    H
  • 原文地址:https://www.cnblogs.com/Alyoyojie/p/5317260.html
Copyright © 2020-2023  润新知