Stub support for int2f/ax=1684/bx=0027 (VXDLDR).

oldstable
James Abbatiello 2000-08-28 19:29:26 +00:00 committed by Alexandre Julliard
parent 7bbba4f9ce
commit 5f150baea7
2 changed files with 43 additions and 0 deletions

View File

@ -41,6 +41,7 @@ owner kernel32
423 register VXD_Shell() VXD_Shell
433 register VXD_PageFile() VXD_PageFile
438 register VXD_APM() VXD_APM
439 register VXD_VXDLoader() VXD_VXDLoader
445 register VXD_Win32s() VXD_Win32s
451 register VXD_ConfigMG() VXD_ConfigMG
455 register VXD_Enable() VXD_Enable

View File

@ -177,6 +177,48 @@ void WINAPI VXD_VMD ( CONTEXT86 *context )
}
}
/***********************************************************************
* VXD_VXDLoader
*/
void WINAPI VXD_VXDLoader( CONTEXT86 *context )
{
unsigned service = AX_reg(context);
TRACE("[%04x] VXDLoader\n", (UINT16)service);
switch (service)
{
case 0x0000: /* get version */
TRACE("returning version\n");
AX_reg(context) = 0x0000;
DX_reg(context) = VXD_WinVersion();
RESET_CFLAG(context);
break;
case 0x0001: /* load device */
FIXME("load device %04lx:%04x (%s)\n",
DS_reg(context), DX_reg(context),
debugstr_a(PTR_SEG_OFF_TO_LIN(DS_reg(context), DX_reg(context))));
AX_reg(context) = 0x0000;
ES_reg(context) = 0x0000;
DI_reg(context) = 0x0000;
RESET_CFLAG(context);
break;
case 0x0002: /* unload device */
FIXME("unload device (%08lx)\n", EBX_reg(context));
AX_reg(context) = 0x0000;
RESET_CFLAG(context);
break;
default:
VXD_BARF( context, "VXDLDR" );
AX_reg(context) = 0x000B; /* invalid function number */
SET_CFLAG(context);
break;
}
}
/***********************************************************************
* VXD_Shell
*/