Hi all, - add some undocumented ioctl mappings - correct OpenVxDHandle prototype, document it, have a try at returning a Ring 3 handle and make FIXME more verbose -- Andreas Mohr Stauferstr. 6, D-71272 Renningen, Germany
Determining best CVS host... Using CVSROOT :pserver:cvs@rhlx01.fht-esslingen.de:/home/wine Index: win32/device.c =================================================================== RCS file: /home/wine/wine/win32/device.c,v retrieving revision 1.62 diff -u -r1.62 device.c --- win32/device.c 23 May 2002 19:35:18 -0000 1.62 +++ win32/device.c 25 May 2002 13:57:58 -0000 @@ -1407,8 +1407,10 @@ } case VWIN32_DIOC_DOS_IOCTL: + case 0x10: /* Int 0x21 call, call it VWIN_DIOC_INT21 ? */ case VWIN32_DIOC_DOS_INT25: case VWIN32_DIOC_DOS_INT26: + case 0x29: /* Int 0x31 call, call it VWIN_DIOC_INT31 ? */ case VWIN32_DIOC_DOS_DRIVEINFO: { CONTEXT86 cxt; @@ -1430,8 +1432,13 @@ switch (dwIoControlCode) { case VWIN32_DIOC_DOS_IOCTL: DOS3Call( &cxt ); break; /* Call int 21h */ + case VWIN32_DIOC_DOS_INT13: INT_Int13Handler( &cxt ); break; + case 0x10: /* Int 0x21 call, call it VWIN_DIOC_INT21 ? */ + DOS3Call( &cxt ); break; case VWIN32_DIOC_DOS_INT25: INT_Int25Handler( &cxt ); break; case VWIN32_DIOC_DOS_INT26: INT_Int26Handler( &cxt ); break; + case 0x29: /* Int 0x31 call, call it VWIN_DIOC_INT31 ? */ + INT_Int31Handler( &cxt ); break; case VWIN32_DIOC_DOS_DRIVEINFO: DOS3Call( &cxt ); break; /* Call int 21h 730x */ } @@ -1527,11 +1534,16 @@ /*********************************************************************** * OpenVxDHandle (KERNEL32.@) + * + * This function is supposed to return the corresponding Ring 0 + * ("kernel") handle for a Ring 3 handle in Win9x. + * Evidently, Wine will have problems with this. But we try anyway, + * maybe it helps... */ -DWORD WINAPI OpenVxDHandle(DWORD pmt) +HANDLE WINAPI OpenVxDHandle(HANDLE hHandleRing3) { - FIXME( "(0x%08lx) stub!\n", pmt); - return 0; + FIXME( "(0x%08lx), stub! (returning Ring 3 handle instead of Ring 0)\n", hHandleRing3); + return hHandleRing3; } static BOOL DeviceIo_HASP(DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer,