Commit Graph

524 Commits

Author SHA1 Message Date
Alex Henrie 433c14b064 ntoskrnl: Add MmIsThisAnNtAsSystem().
This function returns FALSE on all server and non-server versions of
Windows since XP except for Windows Server 2003.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47578
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 21:59:29 +02:00
Zebediah Figura dfc7132f50 ntoskrnl.exe: Always set the IRP return size.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:57:20 +02:00
Zebediah Figura d99ecb078b ntoskrnl.exe/tests: Add some tests for IRP return values.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:57:15 +02:00
Zebediah Figura 7845c0117a ntoskrnl.exe/tests: Add some tests for file objects.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:57:13 +02:00
Zebediah Figura 4f8dfdba3d services: Do not overwrite the service type in SetServiceStatus().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:53 +02:00
Zebediah Figura 2698249362 ntoskrnl.exe: Use the registered interface class in IoSetDeviceInterfaceState().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-03 23:44:24 +02:00
Zebediah Figura 4ecbc3a0f5 ntoskrnl.exe: Implement PoCallDriver().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-26 09:34:41 +02:00
Zebediah Figura 656035da85 ntoskrnl.exe: Stub PoStartNextPowerIrp().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-26 09:34:37 +02:00
Zebediah Figura 816e25c194 ntoskrnl.exe: Handle IRP_MN_QUERY_ID for root PnP devices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-26 09:34:33 +02:00
Zebediah Figura 13e9d43127 ntoskrnl.exe: Handle some no-op PnP requests.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-26 09:34:31 +02:00
Zebediah Figura b06740ecde ntoskrnl.exe: Load a driver's root PnP devices when the driver is started.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 19:25:40 +02:00
Zebediah Figura d4c91cc6f9 ntoskrnl.exe: Add a stub PnP manager driver.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 19:25:01 +02:00
Jacek Caban 39d4f9d8af ntoskrnl.exe: Implement KeBugCheck and KeBugCheckEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45656
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 19:22:21 +02:00
Jacek Caban 7e14df06f1 ntoskrnl.exe: Implement ExDeletePagedLookasideList.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 21:21:10 +02:00
Jacek Caban fac633495d ntoskrnl.exe: Implement ExInitializePagedLookasideList.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47014
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 21:21:07 +02:00
Jacek Caban 8b787945ef ntoskrnl.exe: Implement IoGetStackLimits.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47017
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 21:21:04 +02:00
Alexandre Julliard a1cdcc5290 ntoskrnl: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:28:35 +02:00
Alexandre Julliard 7cee5e2bdc ntoskrnl: Make the standard C functions available for importing.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:25:06 +02:00
Zebediah Figura 4ca91cfd5d ntoskrnl.exe: Use INF files to locate function drivers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 19:42:38 +02:00
André Hentschel dd84b0a744 ntoskrnl.exe/tests: Don't test functions directly when reporting GetLastError().
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:20:02 +02:00
Zebediah Figura 365f162fb1 ntoskrnl.exe: Implement automatically generated device names.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 17:42:08 +02:00
Zebediah Figura 9392aaa17f ntoskrnl.exe: Send PnP IRPs to the top of the device stack.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 17:41:42 +02:00
Zebediah Figura 4820d9d76c ntoskrnl.exe: Dispatch user IRPs to the top of the device stack.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 17:41:37 +02:00
Zebediah Figura 6c6aeea8a8 ntoskrnl.exe: Correctly handle instance IDs.
The instance ID is only the third part of the "A\B\C" form, and must be
combined with the device ID to form the whole name for setupapi (the "device
instance ID").

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 16:46:20 +02:00
Zebediah Figura 510261a4b4 ntoskrnl.exe: Use SetupDiOpenDeviceInfo().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 16:44:54 +02:00
Zebediah Figura 533a426d14 ntoskrnl.exe: Free device IDs from pool.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 16:44:47 +02:00
Zebediah Figura 6e999b4a46 ntoskrnl.exe: Fix handling of reference string in IoRegisterDeviceInterface().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 23:05:29 +02:00
Zebediah Figura 3b2592a2bc ntoskrnl.exe: Move PNP code to a separate file.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 22:33:30 +02:00
Jacek Caban 828ac9880d ntoskrnl.exe: Set IRP caller thread.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:27 +02:00
Jacek Caban 7f0883ae88 server: Associate create and close IRPs with current thread.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:27 +02:00
Jacek Caban e80b507f1e ntoskrnl.exe: Dispatch server IRPs in critical region.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:26 +02:00
Derek Lesho 51a732163f ntoskrnl.exe: Implement KeAreApcsDisabled.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:26 +02:00
Jacek Caban 9157129fc8 ntoskrnl.exe: Cancel IRPs terminated by server.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 20:17:39 +02:00
Jacek Caban b724024d5a server: Notify kernel when IRP is terminated by server.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 20:17:36 +02:00
Jacek Caban 101da2b512 server: Store IRP client pointer on server side.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 20:17:03 +02:00
Piotr Caban 294cfaf077 ntoskrnl.exe: Fix IoAttachDeviceToDeviceStack implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 20:41:05 +02:00
Piotr Caban e0e795cfe9 ntoskrnl.exe: Add IoDetachDevice implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 20:41:00 +02:00
Michael Stefaniuc 94e958c61a ntoskrnl: Add a macro to declare a static CRITICAL_SECTION.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:40:35 +02:00
Jacek Caban 7287611606 ntoskrnl.exe: Set irp context handle in dispatch_irp.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:40:33 +02:00
Jacek Caban 0138da5025 ntoskrnl.exe: Reuse IRP input buffer if it wasn't used.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:40:31 +02:00
Jacek Caban 6870bb74d4 ntoskrnl.exe: Pass context as a structure to IRP dispatchers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:40:29 +02:00
Jacek Caban e1d932a9e1 ntoskrnl.exe/tests: Always test DeviceIoControl result.
Spotted by Mathew Hodson.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:39:50 +02:00
Jacek Caban a55a287cab server: Always block overlapped device requests until driver dispatches them.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 22:18:32 +02:00
Jacek Caban 2f7e7863e0 ntoskrnl.exe: Implement PsGetThreadProcessId.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Jacek Caban 07e249e431 ntddk.h: Add a few more declarations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 20:54:23 +02:00
Jacek Caban 850fd237bd ntoskrnl.exe: Implement PsGetProcessInheritedFromUniqueProcessId.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 20:54:23 +02:00
Jacek Caban ed140a7ac5 ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47044
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 20:54:23 +02:00
Alexandre Julliard 10584d2057 include: Use the __fastcall attribute directly for the Windows build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:07:15 +02:00
Alexandre Julliard 62fa748f23 include: Define fastcall assembly wrappers globally.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 19:59:33 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00