Ignore:
Timestamp:
Oct 28, 2001, 1:48:04 PM (24 years ago)
Author:
sandervl
Message:

RegisterCustomDriver added

File:
1 edited

Legend:

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

    r6086 r7245  
    1 /* $Id: hmdevio.cpp,v 1.14 2001-06-23 19:43:49 sandervl Exp $ */
     1/* $Id: hmdevio.cpp,v 1.15 2001-10-28 12:48:04 sandervl Exp $ */
    22
    33/*
     
    130130//******************************************************************************
    131131//******************************************************************************
     132BOOL WIN32API RegisterCustomDriver(PFNDRVOPEN pfnDriverOpen, PFNDRVCLOSE pfnDriverClose,
     133                                   PFNDRVIOCTL pfnDriverIOCtl, LPCSTR lpDeviceName)
     134{
     135 HMDeviceDriver *driver;
     136 DWORD rc;
     137 
     138    driver = new HMCustomDriver(pfnDriverOpen, pfnDriverClose, pfnDriverIOCtl, lpDeviceName);
     139    if(driver == NULL) {
     140        DebugInt3();
     141        return FALSE;
     142    }
     143    rc = HMDeviceRegister((LPSTR)lpDeviceName, driver);
     144    if (rc != NO_ERROR) {                                /* check for errors */
     145        dprintf(("KERNEL32:RegisterDevices: registering %s failed with %u.\n", lpDeviceName, rc));
     146        return FALSE;
     147    }
     148    return TRUE;
     149}
     150//******************************************************************************
     151//******************************************************************************
    132152HMDeviceDriver::HMDeviceDriver(LPCSTR lpDeviceName, LPSTR lpOS2DevName, BOOL fCreate,
    133153                               WINIOCTL pDevIOCtl)
     
    438458//******************************************************************************
    439459HMCustomDriver::HMCustomDriver(HINSTANCE hInstance, LPCSTR lpDeviceName)
    440                 : HMDeviceDriver(lpDeviceName)
     460                : HMDeviceDriver(lpDeviceName), hDrvDll(0)
    441461{
    442462    hDrvDll = hInstance ;
     
    447467//******************************************************************************
    448468//******************************************************************************
     469HMCustomDriver::HMCustomDriver(PFNDRVOPEN pfnDriverOpen, PFNDRVCLOSE pfnDriverClose,
     470                               PFNDRVIOCTL pfnDriverIOCtl, LPCSTR lpDeviceName)
     471                : HMDeviceDriver(lpDeviceName), hDrvDll(0)
     472{
     473    driverOpen  = pfnDriverOpen;
     474    driverClose = pfnDriverClose;
     475    driverIOCtl = pfnDriverIOCtl;
     476}
     477//******************************************************************************
     478//******************************************************************************
    449479HMCustomDriver::~HMCustomDriver()
    450480{
    451    FreeLibrary(hDrvDll);
     481   if(hDrvDll) FreeLibrary(hDrvDll);
    452482}
    453483//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.