Changeset 71198 in vbox for trunk/src/VBox/HostDrivers/Support/win
- Timestamp:
- Mar 5, 2018 10:59:17 AM (7 years ago)
- Location:
- trunk/src/VBox/HostDrivers/Support/win
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp
r71136 r71198 1129 1129 * the session and iCmd, and does not return anything. 1130 1130 */ 1131 if ( uCmd == SUP_IOCTL_FAST_DO_RAW_RUN 1132 || uCmd == SUP_IOCTL_FAST_DO_HM_RUN 1133 || uCmd == SUP_IOCTL_FAST_DO_NOP) 1134 { 1135 int rc = supdrvIOCtlFast(uCmd, (unsigned)(uintptr_t)pvOutput/* VMCPU id */, pDevExt, pSession); 1131 if ( (uCmd & 3) == METHOD_NEITHER 1132 && (uint32_t)((uCmd - SUP_IOCTL_FAST_DO_FIRST) >> 2) < (uint32_t)32) 1133 { 1134 int rc = supdrvIOCtlFast((uCmd - SUP_IOCTL_FAST_DO_FIRST) >> 2, 1135 (unsigned)(uintptr_t)pvOutput/* VMCPU id */, 1136 pDevExt, pSession); 1136 1137 pIoStatus->Status = RT_SUCCESS(rc) ? STATUS_SUCCESS : STATUS_INVALID_PARAMETER; 1137 1138 pIoStatus->Information = 0; /* Could be used to pass rc if we liked. */ … … 1318 1319 #endif 1319 1320 1320 ULONG ulCmd = pStack->Parameters.DeviceIoControl.IoControlCode; 1321 if ( ulCmd == SUP_IOCTL_FAST_DO_RAW_RUN 1322 || ulCmd == SUP_IOCTL_FAST_DO_HM_RUN 1323 || ulCmd == SUP_IOCTL_FAST_DO_NOP) 1324 { 1325 int rc = supdrvIOCtlFast(ulCmd, (unsigned)(uintptr_t)pIrp->UserBuffer /* VMCPU id */, pDevExt, pSession); 1321 ULONG uCmd = pStack->Parameters.DeviceIoControl.IoControlCode; 1322 if ( (uCmd & 3) == METHOD_NEITHER 1323 && (uint32_t)((uCmd - SUP_IOCTL_FAST_DO_FIRST) >> 2) < (uint32_t)32) 1324 { 1325 int rc = supdrvIOCtlFast((uCmd - SUP_IOCTL_FAST_DO_FIRST) >> 2, 1326 (unsigned)(uintptr_t)pIrp->UserBuffer /* VMCPU id */, 1327 pDevExt, pSession); 1326 1328 1327 1329 /* Complete the I/O request. */ -
trunk/src/VBox/HostDrivers/Support/win/SUPLib-win.cpp
r69500 r71198 673 673 Assert(cbReq == RT_MAX(pHdr->cbIn, pHdr->cbOut)); 674 674 # ifdef USE_NT_DEVICE_IO_CONTROL_FILE 675 IO_STATUS_BLOCK Ios; 676 Ios.Status = -1; 677 Ios.Information = 0; 675 IO_STATUS_BLOCK Ios = RTNT_IO_STATUS_BLOCK_INITIALIZER; 678 676 NTSTATUS rcNt = NtDeviceIoControlFile((HANDLE)pThis->hDevice, NULL /*hEvent*/, NULL /*pfnApc*/, NULL /*pvApcCtx*/, &Ios, 679 677 (ULONG)uFunction, … … 703 701 */ 704 702 # ifdef USE_NT_DEVICE_IO_CONTROL_FILE 705 IO_STATUS_BLOCK Ios; 706 Ios.Status = -1; 707 Ios.Information = 0; 703 IO_STATUS_BLOCK Ios = RTNT_IO_STATUS_BLOCK_INITIALIZER; 708 704 NTSTATUS rcNt = NtDeviceIoControlFile((HANDLE)pThis->hDevice, NULL /*hEvent*/, NULL /*pfnApc*/, NULL /*pvApcCtx*/, &Ios, 709 705 (ULONG)uFunction,
Note:
See TracChangeset
for help on using the changeset viewer.