Ignore:
Timestamp:
Jun 17, 2001, 1:16:42 PM (24 years ago)
Author:
achimha
Message:

remove VPC fake driver

File:
1 edited

Legend:

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

    r5905 r6035  
    1 /* $Id: hmdevio.cpp,v 1.12 2001-06-04 21:18:39 sandervl Exp $ */
     1/* $Id: hmdevio.cpp,v 1.13 2001-06-17 11:16:42 achimha Exp $ */
    22
    33/*
     
    4343static BOOL MAPMEMIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    4444static BOOL FXMEMMAPIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    45 static BOOL VPCIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    4645
    4746static WIN32DRV knownDriver[] =
    4847    {{"\\\\.\\GpdDev", "",      TRUE,  666,   GpdDevIOCtl},
    4948    { "\\\\.\\MAPMEM", "PMAP$", FALSE, 0,     MAPMEMIOCtl},
    50     { "FXMEMMAP.VXD",  "PMAP$", FALSE, 0,     FXMEMMAPIOCtl},
    51 #if 1
    52     { "\\\\.\\VPCAppSv", "", TRUE,  667,   VPCIOCtl}};
    53 #else
     49    { "FXMEMMAP.VXD",  "PMAP$", FALSE, 0,     FXMEMMAPIOCtl}
    5450    };
    55 #endif
    5651
    5752static int nrKnownDrivers = sizeof(knownDriver)/sizeof(WIN32DRV);
    58 BOOL fVirtualPC = FALSE;
    5953
    6054//******************************************************************************
     
    362356//******************************************************************************
    363357//******************************************************************************
    364 static BOOL VPCIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
    365 {
    366   APIRET rc;
    367 
    368   dprintf(("VPCIOCtl func %x: %x %d %x %d %x %x", dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped));
    369   switch(dwIoControlCode) {
    370   case 0x9C402880: //0x00
    371         if(nOutBufferSize < 4) {
    372             SetLastError(ERROR_BAD_LENGTH);
    373             return FALSE;
    374         }
    375         *(DWORD *)lpOutBuffer = 0x50001;
    376         *lpBytesReturned = 4;
    377         return TRUE;
    378 
    379   case 0x9C402894: //0x14 (get IDT table)
    380   {
    381         DWORD *lpBuffer = (DWORD *)lpOutBuffer;
    382         if(nOutBufferSize < 0x800) {
    383             SetLastError(ERROR_BAD_LENGTH);
    384             return FALSE;
    385         }
    386         memset(lpOutBuffer, 0, nOutBufferSize);
    387         for(int i=0;i<16;i++) {
    388             lpBuffer[i*2]   = 0x01580000;
    389             lpBuffer[i*2+1] = 0xFF008E00;
    390         }
    391         lpBuffer[0xEF*2]   = 0x01580000;
    392         lpBuffer[0xEF*2+1] = 0xFF008E00;
    393         *lpBytesReturned = 0xF0*8;
    394         return TRUE;
    395   }
    396   case 0x9C40288C: //0x0C change IDT
    397         if(nInBufferSize < 0x22) {
    398             SetLastError(ERROR_BAD_LENGTH);
    399             return FALSE;
    400         }
    401         fVirtualPC = TRUE;
    402         return TRUE;
    403 
    404   case 0x9C402884: //0x04 ExAllocatePoolWithTag
    405   {
    406         DWORD *lpBuffer = (DWORD *)lpInBuffer;
    407         if(nInBufferSize < 0x08) {
    408             SetLastError(ERROR_BAD_LENGTH);
    409             return FALSE;
    410         }
    411         dprintf(("In: %x %x", lpBuffer[0], lpBuffer[1]));
    412         return TRUE;
    413   }
    414 
    415   case 0x9C402898: //0x18 Remove IDT patch
    416         if(nInBufferSize < 0x01) {
    417             SetLastError(ERROR_BAD_LENGTH);
    418             return FALSE;
    419         }
    420         fVirtualPC = FALSE;
    421         return TRUE;
    422   default:
    423         dprintf(("VPCIOCtl unknown func %X\n", dwIoControlCode));
    424         return FALSE;
    425   }
    426 }
    427 //******************************************************************************
    428 //******************************************************************************
    429358HMCustomDriver::HMCustomDriver(HINSTANCE hInstance, LPCSTR lpDeviceName)
    430359                : HMDeviceDriver(lpDeviceName)
Note: See TracChangeset for help on using the changeset viewer.