1.中的应该是个结构。
2。一言两语不好说清。请看program windows 5。多线程一章。
3。因为你分配内存时。你的变量中的数据有数据的。memset是全部清0。有时很重要。不然会出错的。
4。&os表示传递os的指针。这样速度更快。不需要额外的变量。

解决方案 »

  1.   

    1.OVERLAPPED是个结构
    typedef struct _OVERLAPPED { 
        ULONG_PTR  Internal; 
        ULONG_PTR  InternalHigh; 
        DWORD  Offset; 
        DWORD  OffsetHigh; 
        HANDLE hEvent; 
    } OVERLAPPED; 
    查看msdn
    2.生成事件,可以用WaitForSingleObject之类的函数等待事件发生,这是多先成线程(进程)的一种同步机制
    3.将内容清零
    4.那有两种方法,不都是一样的吗?
    5.yes
    6.os变量的指针,大哥,c的你会不会
    7.GetOverlapperResult,是取得操作结果的,最后一个参数是指定是否等待的,这里是TRUE,所以会等待
    重叠是说,在同一个socket上,可以同时recv和send
    8.CreateEvent(NULL, TRUE, FALSE, NULL),就是生成了一个新的事件
      

  2.   

    1.是一个这样的结构:
    typedef struct _OVERLAPPED { // o 
        DWORD  Internal; 
        DWORD  InternalHigh; 
        DWORD  Offset; 
        DWORD  OffsetHigh; 
        HANDLE hEvent; 
    } OVERLAPPED; 
    2。见msdn就可以得到不错的咨询
    3。初始化你的内存区域,有时这很重要,好些崩溃就是由于没有初始化造成的!
    4。同2。
    (5) 基本上象你说的,“If the object's state is nonsignaled, the calling thread enters an efficient wait state. The thread consumes very little processor time while waiting for the object state to become signaled or the time-out interval to elapse.”
    (6) 取os 的地址,得到指向它的指针作为参数传给函数调用。
    (8) 基本上是和Wait的方法联合使用。
    ~~~供参考。
      

  3.   

    请问在CreateEvent生成的事件后如m_hPostMsgEvent后是怎样调用这个事件的。还用我不想用重叠方式调用串口请问怎样做呢?