Commit Graph

506 Commits

Author SHA1 Message Date
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
Francois Gouget 3f0ca3c7a4 ntoskrnl.exe: Make run_work_item_worker() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 08:20:23 -05:00
Jacek Caban 4e4a1098f2 ntoskrnl.exe/tests: Add more overlapped tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 15:20:25 -05:00
Rafał Harabień 6c0a8c3592 ntoskrnl.exe: Fix handling relocations on page boundary.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28254
Signed-off-by: Rafał Harabień <rafalh92@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 09:32:24 -05:00
Jacek Caban 7223f11d4a ntoskrnl.exe: Don't keep reference to driver created file objects on client side.
Server keeps instead.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:18:05 +02:00
Jacek Caban bd94c43fcf ntoskrnl.exe: Associate file object with server object before calling IRP routine.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:18:02 +02:00
Jacek Caban b1e1111d7b server: Don't use IRP_MJ_* constants for ntoskrnl.exe communication.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:16:56 +02:00
Jacek Caban 8bce6309ac server: Pass IRP output size in irp_params_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:15:46 +02:00
Zebediah Figura 39e9b841e5 ntoskrnl.exe/tests: Avoid linking directly to CancelIoEx().
It's not available before Vista.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:14:53 +02:00
Zebediah Figura ecdb5e82fe ntoskrnl.exe/tests: Use coarser waits for timer tests.
In an attempt to mitigate intermittent failures on Linux.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:14:50 +02:00
Jacek Caban 0ee017f2ed ntoskrnl.exe: Support UserEvent in IoCompleteRequest.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Jacek Caban 0a8c36b8e3 ntoskrnl.exe: Set IRP DeviceObject in IoCallDriver.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Jacek Caban 60ddf0f09e ntoskrnl.exe/tests: Add CancelIo tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Jacek Caban 5f10c86d5b ntoskrnl.exe: Implement IoCancelIrp.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Jacek Caban da5b97c8b4 ntoskrnl.exe/tests: Add IoCallDriver tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Jacek Caban a11cdd2231 ntoskrnl.exe: Implement IoBuildAsynchronousFsdRequest.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Jacek Caban 7099c0be2c ntoskrnl.exe: Add work item tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:46:52 +02:00
Jacek Caban 43ba0a1bec ntoskrnl.exe: Implement IoQueueWorkItem.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:46:52 +02:00
Jacek Caban 322f0b57a8 ntoskrnl.exe: Implement IoAllocateWorkItem and IoFreeWorkItem.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:46:52 +02:00