diff --git a/ftk/src/ftkunix.cpp b/ftk/src/ftkunix.cpp index 6492619..546b664 100644 --- a/ftk/src/ftkunix.cpp +++ b/ftk/src/ftkunix.cpp @@ -1171,7 +1171,7 @@ RCODE F_FileHdl::directWrite( #ifndef FLM_NLM else { - struct aiocb * pAio = pBufferObj->getAIOStruct(); + struct aiocb * pAio = ((F_IOBuffer *)pBufferObj)->getAIOStruct(); f_memset( pAio, 0, sizeof( struct aiocb)); pAio->aio_lio_opcode = LIO_WRITE; diff --git a/ftk/src/ftkwin.cpp b/ftk/src/ftkwin.cpp index 5aa9de2..c7c4976 100644 --- a/ftk/src/ftkwin.cpp +++ b/ftk/src/ftkwin.cpp @@ -1303,8 +1303,8 @@ RCODE F_FileHdl::directWrite( } else { - pOverlapped = pBufferObj->getOverlapped(); - pBufferObj->setFileHandle( m_FileHandle); + pOverlapped = ((F_IOBuffer *)pBufferObj)->getOverlapped(); + ((F_IOBuffer *)pBufferObj)->setFileHandle( m_FileHandle); } if (!pOverlapped->hEvent)