我在看串口通信时看到有资料介绍?我不明白TOVERLAPPED是什么类,起什么作用?请赐教?

解决方案 »

  1.   

    The   OVERLAPPED   structure   contains   information   used   in   asynchronous   input   and   output   (I/O).     
        
      typedef   struct   _OVERLAPPED   {   //   o       
              DWORD     Internal;     
              DWORD     InternalHigh;     
              DWORD     Offset;     
              DWORD     OffsetHigh;     
              HANDLE   hEvent;     
      }   OVERLAPPED;     
          
        
      Members   
        
      Internal   
        
      Reserved   for   operating   system   use.   This   member,   which   specifies   a   system-dependent   status,   is   valid   when   the   GetOverlappedResult   function   returns   without   setting   the   extended   error   information   to   ERROR_IO_PENDING.     
        
      InternalHigh   
        
      Reserved   for   operating   system   use.   This   member,   which   specifies   the   length   of   the   data   transferred,   is   valid   when   the   GetOverlappedResult   function   returns   TRUE.     
        
      Offset   
        
      Specifies   a   file   position   at   which   to   start   the   transfer.   The   file   position   is   a   byte   offset   from   the   start   of   the   file.   The   calling   process   sets   this   member   before   calling   the   ReadFile   or   WriteFile   function.   This   member   is   ignored   when   reading   from   or   writing   to   named   pipes   and   communications   devices.   
        
      OffsetHigh   
        
      Specifies   the   high   word   of   the   byte   offset   at   which   to   start   the   transfer.   This   member   is   ignored   when   reading   from   or   writing   to   named   pipes   and   communications   devices.   
        
      hEvent   
        
      Identifies   an   event   set   to   the   signaled   state   when   the   transfer   has   been   completed.   The   calling   process   sets   this   member   before   calling   the   ReadFile,   WriteFile,   ConnectNamedPipe,   or   TransactNamedPipe   function.     
        
          
        
      Res   
        
      You   can   use   the   HasOverlappedIoCompleted   macro   to   determine   whether   an   asynchronous   I/O   operation   has   completed.   You   can   use   the   CancelIo   function   to   cancel   an   asynchronous   I/O   operation.