Ignore:
Timestamp:
Dec 14, 2001, 1:45:49 PM (24 years ago)
Author:
sandervl
Message:

enabled overlapped io for custom device drivers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/hmdevio.cpp

    r7630 r7631  
    1 /* $Id: hmdevio.cpp,v 1.23 2001-12-14 10:22:38 sandervl Exp $ */
     1/* $Id: hmdevio.cpp,v 1.24 2001-12-14 12:44:56 sandervl Exp $ */
    22
    33/*
     
    432432                                  PHMHANDLEDATA pHMHandleDataTemplate)
    433433{
    434    pHMHandleData->hHMHandle = pfnDriverOpen(pHMHandleData->dwAccess, pHMHandleData->dwShare);
     434   pHMHandleData->hHMHandle = pfnDriverOpen(pHMHandleData->dwAccess, pHMHandleData->dwShare, pHMHandleData->dwFlags);
    435435   if(pHMHandleData->hHMHandle == INVALID_HANDLE_VALUE_W) {
    436436       return GetLastError();
     
    443443{
    444444   if(pHMHandleData->hHMHandle) {
    445         pfnDriverClose(pHMHandleData->hHMHandle);
     445        pfnDriverClose(pHMHandleData->hHMHandle, pHMHandleData->dwFlags);
    446446   }
    447447   pHMHandleData->hHMHandle = 0;
     
    463463   }
    464464
    465    ret = pfnDriverIOCtl(pHMHandleData->hHMHandle, dwIoControlCode, lpInBuffer, nInBufferSize,
     465   ret = pfnDriverIOCtl(pHMHandleData->hHMHandle, pHMHandleData->dwFlags, dwIoControlCode, lpInBuffer, nInBufferSize,
    466466                        lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped);
    467467   dprintf(("DeviceIoControl %x returned %d", dwIoControlCode, ret));
     
    499499       return FALSE;
    500500   }
    501    ret = pfnDriverRead(pHMHandleData->hHMHandle, lpBuffer, nNumberOfBytesToRead,
     501   ret = pfnDriverRead(pHMHandleData->hHMHandle, pHMHandleData->dwFlags, lpBuffer, nNumberOfBytesToRead,
    502502                      lpNumberOfBytesRead, lpOverlapped, lpCompletionRoutine);
    503503   dprintf(("pfnDriverRead %x %x %x %x %x %x returned %x", pHMHandleData->hHMHandle, lpBuffer, nNumberOfBytesToRead,
     
    536536       return FALSE;
    537537   }
    538    ret = pfnDriverWrite(pHMHandleData->hHMHandle, lpBuffer, nNumberOfBytesToWrite,
     538   ret = pfnDriverWrite(pHMHandleData->hHMHandle, pHMHandleData->dwFlags, lpBuffer, nNumberOfBytesToWrite,
    539539                        lpNumberOfBytesWritten, lpOverlapped, lpCompletionRoutine);
    540540   dprintf(("pfnDriverWrite %x %x %x %x %x %x returned %x", pHMHandleData->hHMHandle, lpBuffer, nNumberOfBytesToWrite,
     
    561561       return FALSE;
    562562   }
    563    ret = pfnDriverCancelIo(pHMHandleData->hHMHandle);
     563   ret = pfnDriverCancelIo(pHMHandleData->hHMHandle, pHMHandleData->dwFlags);
    564564   dprintf(("pfnDriverCancelIo %x returned %x", pHMHandleData->hHMHandle, ret));
    565565   return ret;
     
    600600        return FALSE;
    601601    }
    602     return pfnDriverGetOverlappedResult(pHMHandleData->hHMHandle, lpOverlapped, lpcbTransfer, fWait);
     602    return pfnDriverGetOverlappedResult(pHMHandleData->hHMHandle, pHMHandleData->dwFlags, lpOverlapped, lpcbTransfer, fWait);
    603603}
    604604//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.