Commit Graph

468 Commits

Author SHA1 Message Date
Dmitry Timoshkov 162991a03c ntoskrnl: Add IoCreateDeviceSecure semi-stub.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Daniel Lehman de0e9ad965 ntoskrnl.exe: Fix use-after-free when freeing IRP.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Chip Davis 7c0f642005 ntoskrnl: Always copy the output buffer for non-buffered ioctls.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=30155
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:30:25 +02:00
Zebediah Figura 097685aa9e ntoskrnl: Report separately whether an IRP was marked pending.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 11:33:19 +02:00
Zebediah Figura 484b78bda0 ntoskrnl: Report the initial status of an IRP separately from the IOSB status.
Based on a patch by Chip Davis.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=30155
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 11:32:18 +02:00
Zebediah Figura 69ea35a954 ntoskrnl: Report IRP completion via get_next_device_request if possible.
Although there is arguably an advantage to saving a server request, the impetus
for this patch is make it easier for the server to process the IRP return status
before (or at the same time as) it processes the IOSB status. This allows
simpler handling of the case where the IRP handler returns STATUS_PENDING but
completes the IRP before returning.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 11:31:17 +02:00
Zebediah Figura 32347fcf08 server: Queue a cancel IRP in the device file cancel_async callback.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:30:45 +02:00
Alistair Leslie-Hughes 5aec01a7af ntoskrnl.exe: Implement PsGetCurrentProcessSessionId.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36887
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 18:06:29 +02:00
Zebediah Figura 2f08e95b4b ntoskrnl: Clear the pending flags for the current stack location before calling the previous location's completion routine.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 22:03:21 +02:00
Zebediah Figura 14d1855a0c ntoskrnl: Set the PendingReturned field in IoCompleteRequest().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 22:03:19 +02:00
Zebediah Figura e56e4f97a4 ntoskrnl: Dereference the device children in IoDeleteDevice().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 11:57:05 +02:00
Alex Henrie c5c9c58974 ntoskrnl: Add MmGetPhysicalAddress semi-stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47047
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 19:58:31 +02:00
Zebediah Figura 364df14842 ntoskrnl: Forbid unloading a driver with running root PnP devices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 20:51:11 +02:00
Zebediah Figura 73bfe36eab winedevice: Introduce a custom service control to reënumerate root PnP devices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 21:15:25 +02:00
Zebediah Figura 6977b81807 ntoskrnl: Store root PnP devices per driver.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 21:14:27 +02:00
Alexandre Julliard 53ffeb67ee winedevice: Add the drivers directory to the dll search path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 18:42:46 +02:00
Alexandre Julliard 31816a90c6 ntoskrnl: Load driver dependencies from the driver directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-17 11:49:23 +01:00
Erich E. Hoover a656ca5e32 ntoskrnl.exe: Implement volume information queries for device files.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-15 16:20:42 +01:00
Zebediah Figura c4cd339a21 ntoskrnl: Copy the IRP I/O status block to the user I/O status block in IoCompleteRequest().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 22:26:36 +01:00
Austin English e8cb99466b ntoskrnl.exe: Add KdDisableDebugger/KdEnableDebugger stubs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50599
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-02 10:00:28 +01:00
Martin Storsjo a1955bfb6e ntdll: Implement a no-op __chkstk for arm64.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-21 16:55:53 +01:00
Myah Caron c6d0d7f02a ntoskrnl.exe: Stub MmProtectMdlSystemAddress.
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 10:51:44 +02:00
Derek Lesho 65df36c115 ntoskrnl.exe: Implement ObOpenObjectByName.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:38 +02:00
Zebediah Figura 088ababfc2 ntoskrnl.exe: Create symbolic links as permanent objects.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Jefferson Carpenter 045455bfe4 ntoskrnl.exe: Initialize context.handle and context.irp.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49462
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 19:51:46 +02:00
Derek Lesho 8f1d1c533c ntoskrnl: Set DriverStart and DriverSize fields in DRIVER_OBJECT.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 16:43:12 +02:00
Zebediah Figura 3e0e12d597 ntoskrnl.exe: Call completion callbacks with the correct device.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 11:24:32 +02:00
Jacek Caban 39a585ef8c ntoskrnl: Use loader notification callback to perform relocations.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49093
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Paul Gofman ee7a5b28c9 ntoskrnl.exe: Add stub for KeUnstackDetachProcess().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Paul Gofman 6f4e73d082 ntoskrnl.exe: Add stub for KeStackAttachProcess().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Paul Gofman c9a55908a5 ntoskrnl.exe: Zero copied size in MmCopyVirtualMemory() stub.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Paul Gofman e58073dbf8 ntoskrnl.exe: Implement PsGetProcessSectionBaseAddress() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Paul Gofman 5d92cf7dbf ntoskrnl.exe: Call load image notify routines for driver modules.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 16:17:32 +02:00
Paul Gofman 26fbff05a1 ntoskrnl.exe: Implement image load notify routines registration.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:46:24 +02:00
Paul Gofman eb7f784761 ntoskrnl.exe: Implement IoReuseIrp() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:46:16 +02:00
Paul Gofman 9effc3f963 ntoskrnl.exe: Add stub for ExUnregisterCallback() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:46:09 +02:00
Paul Gofman 7bc99ae125 ntoskrnl.exe: Add stub for ExRegisterCallback() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:46:04 +02:00
Paul Gofman 1cad86fced ntoskrnl.exe: Return STATUS_SUCCESS from ExCreateCallback() stub.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:45:59 +02:00
Paul Gofman 4ae92fdaf6 ntoskrnl.exe: Fix ObRegisterCallbacks() function parameter definition.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:45:55 +02:00
Paul Gofman e49be2db28 ntoskrnl.exe: Partially implement KeInitializeDpc() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Paul Gofman 4921d24627 ntoskrnl.exe: Add KeSignalCallDpcSynchronize() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 16:18:22 +02:00
Paul Gofman 1adc1b1ecf ntoskrnl.exe: Add KeGenericCallDpc() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 16:17:30 +02:00
Paul Gofman 73d915fd8e ntoskrnl.exe: Add KeSignalCallDpcDone() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 16:17:22 +02:00
Paul Gofman cda4fa293e ntoskrnl.exe: Implement KeRevertToUserAffinityThread() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:13 +02:00
Paul Gofman 7d4f4783a5 ntoskrnl.exe: Implement KeRevertToUserAffinityThreadEx() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:13 +02:00
Paul Gofman 631227563b ntoskrnl.exe: Implement KeSetSystemAffinityThread() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:13 +02:00
Paul Gofman c3bc7689b1 ntoskrnl.exe: Add KeSetSystemAffinityThreadEx() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:13 +02:00
Paul Gofman 25f4da665d ntoskrnl.exe: Fix KeQueryActiveProcessors() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:13 +02:00
Paul Gofman 2716e215df ntoskrnl.exe: Add KeQueryActiveProcessorCountEx() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 20:20:02 +02:00
Paul Gofman b91b4b6de1 ntoskrnl.exe: Add KdRefreshDebuggerNotPresent() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 20:19:36 +02:00