Commit 6a41a4bf authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

monodebg.vxd used by some Origin programs implemented.

parent 1f43de34
......@@ -60,6 +60,11 @@ static BOOL32 DeviceIo_VTDAPI(DEVICE_OBJECT *dev, DWORD dwIoControlCode,
LPVOID lpvOutBuffer, DWORD cbOutBuffer,
LPDWORD lpcbBytesReturned,
LPOVERLAPPED lpOverlapped);
static BOOL32 DeviceIo_MONODEBG(DEVICE_OBJECT *dev, DWORD dwIoControlCode,
LPVOID lpvInBuffer, DWORD cbInBuffer,
LPVOID lpvOutBuffer, DWORD cbOutBuffer,
LPDWORD lpcbBytesReturned,
LPOVERLAPPED lpOverlapped);
static BOOL32 VxDCall_VMM( DWORD *retv, DWORD service, CONTEXT *context );
......@@ -207,6 +212,8 @@ struct VxDInfo
{ "AFILTER", 0x04A1, NULL, NULL },
{ "IRLAMP", 0x04A2, NULL, NULL },
{ "MONODEBG.VXD", 0x4242, NULL, DeviceIo_MONODEBG },
{ NULL, 0, NULL, NULL }
};
......@@ -830,3 +837,30 @@ static BOOL32 DeviceIo_IFSMgr(DEVICE_OBJECT *dev, DWORD dwIoControlCode,
return retv;
}
/* this is used by some Origin games */
static BOOL32 DeviceIo_MONODEBG(DEVICE_OBJECT *dev, DWORD dwIoControlCode,
LPVOID lpvInBuffer, DWORD cbInBuffer,
LPVOID lpvOutBuffer, DWORD cbOutBuffer,
LPDWORD lpcbBytesReturned,
LPOVERLAPPED lpOverlapped)
{
switch (dwIoControlCode) {
case 1: /* version */
*(LPDWORD)lpvOutBuffer = 0x20004; /* WC SecretOps */
break;
case 9: /* debug output */
fprintf(stderr,"MONODEBG: %s\n",debugstr_a(lpvInBuffer));
break;
default:
FIXME(win32,"(%p,%ld,%p,%ld,%p,%ld,%p,%p): stub\n",
dev,dwIoControlCode,
lpvInBuffer,cbInBuffer,
lpvOutBuffer,cbOutBuffer,
lpcbBytesReturned,
lpOverlapped
);
break;
}
return TRUE;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment