kernel32: NT drivers can handle IOCTL codes with HIWORD == 0.

This commit is contained in:
Alexander Morozov 2008-11-13 13:15:10 +03:00 committed by Alexandre Julliard
parent c22e49740a
commit f52402e71a
1 changed files with 1 additions and 2 deletions

View File

@ -339,12 +339,11 @@ BOOL WINAPI DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode,
/* Check if this is a user defined control code for a VxD */ /* Check if this is a user defined control code for a VxD */
if( HIWORD( dwIoControlCode ) == 0 ) if (HIWORD( dwIoControlCode ) == 0 && (GetVersion() & 0x80000000))
{ {
DeviceIoProc proc = get_vxd_proc( hDevice ); DeviceIoProc proc = get_vxd_proc( hDevice );
if (proc) return proc( dwIoControlCode, lpvInBuffer, cbInBuffer, if (proc) return proc( dwIoControlCode, lpvInBuffer, cbInBuffer,
lpvOutBuffer, cbOutBuffer, lpcbBytesReturned, lpOverlapped ); lpvOutBuffer, cbOutBuffer, lpcbBytesReturned, lpOverlapped );
return FALSE;
} }
/* Not a VxD, let ntdll handle it */ /* Not a VxD, let ntdll handle it */