Commit Graph

506 Commits

Author SHA1 Message Date
Derek Lesho c988910cae ntoskrnl.exe: Update the tick count in KUSER_SHARED_DATA when accessed.
EasyAntiCheat.sys constantly reads this value, so I think keeping it
up-to-date is a good idea.

Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 21:59:08 +01:00
Derek Lesho e7863eaa4e ntoskrnl.exe: Add emulation of rdmsr for MSR_LSTAR control register.
Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 21:39:26 +01:00
Derek Lesho 468c546f90 ntoskrnl.exe: Add IoWMIOpenBlock stub.
Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 19:49:53 +01:00
Derek Lesho da060af242 ntoskrnl.exe: Implement ObGetObjectType.
Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 22:57:51 +01:00
Francois Gouget 7604174e5b ntoskrnl.exe/tests: Make vskip_(), win_skip_() and kmemcpy() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:11:48 +01:00
Gijs Vermeulen 66c321a4b8 ntoskrnl.exe: Add ExSetTimerResolution stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46762
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 19:29:36 +01:00
Gijs Vermeulen 199b5d2ca2 ntoskrnl.exe: Add MmBuildMdlForNonPagedPool stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46761
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 19:29:36 +01:00
Jacek Caban fdcd9ee712 ntoskrnl.exe: Support NULL type in ObReferenceObjectByHandle.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 17:55:17 +01:00
Zhiyi Zhang 948d39c529 ntoskrnl.exe: Implement ExUuidCreate().
This is mostly a copy of UuidCreate() in rpcrt4 with NTSTATUS return code.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Alexandre Julliard 26bbbb7b73 winebuild: Use stdcall for fastcall wrappers.
This allows catching mismatched argument lists.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Alexandre Julliard 556bc03758 ntoskrnl.exe: Specify fastcall entry points using the appropriate spec file flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:29 +01:00
Huw Davies d88f129507 ntoskrnl.exe: Add stubs for PsSuspendProcess() and PsResumeProcess().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-27 22:21:17 +01:00
Jacek Caban 637e01e217 ntoskrnl.exe: Implement file object constructor.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban 855314449b ntoskrnl.exe: Implement ObReferenceObject and ObDereferenceObject.
NULL checks are meant to prevent regressions in applications trying to
reference NULL objects returned from stubs.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban ad7c1392ce ntoskrnl.exe: Add partial ObReferenceObjectByHandle implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban 916c5f2edb ntoskrnl.exe: Use kernel object allocators for file object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban 7fb89b126d ntoskrnl.exe: Add missing ObReferenceObject call to ObReferenceObjectByName.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban d01cd45b55 ntoskrnl.exe: Use kernel object allocators for device object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban bb94d94bb0 ntoskrnl.exe: Introduce common kernel object allocator and use it for driver object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban 38eebddc1d ntoskrnl.exe: Export object type values.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban 99876873b8 ntoskrnl.exe/tests: Add object reference tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban 6b50fa3161 ntoskrnl.exe: Add PsReferenceProcessFilePointer stub.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 21:18:14 +01:00
Michael Müller 88b20b2dee ntoskrnl.exe: Implement NtBuildNumber.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 12:54:15 +01:00
Jacek Caban 4505ef6cfd ntoskrnl.exe/tests: Introduce get_proc_address helper.
Based on a patch by Michael Müller.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 12:54:02 +01:00
Jacek Caban 4498648ec1 ntoskrnl.exe: Add KeRevertToUserAffinityThread stub.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 12:53:46 +01:00
Jacek Caban 38c825598f ntoskrnl.exe: Set FileObject of IRP passed to driver callbacks.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=20083
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 12:53:40 +01:00
Jacek Caban 7bacd8530f ntoskrnl.exe: Implement ExDeleteNPagedLookasideList.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Michael Müller 7529e74516 ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Jacek Caban 7149ae1111 ntoskrnl.exe: Add PsRevertToSelf stub.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Jacek Caban 2401d86f68 ntoskrnl.exe: Properly export *SList functions on win64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45820
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 10:20:59 +01:00
Jacek Caban 5bfbcb735b ntoskrnl.exe: Implement KeExpandKernelStackAndCallout and KeExpandKernelStackAndCalloutEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 15:43:01 +01:00
Jacek Caban 80c23190f8 ntoskrnl.exe: Add KeEnterGuardedRegion and KeLeaveGuardedRegion stubs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 18:13:18 +01:00
Jacek Caban 496447f03b ntoskrnl.exe: Add __C_specific_handler entry.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 18:13:18 +01:00
Zebediah Figura 14c6d8c751 ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-30 18:33:58 +01:00
Zebediah Figura e3856fd630 ntoskrnl.exe: Implement APC-level fast mutex functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-30 18:33:35 +01:00
Zebediah Figura 10dcc10a55 ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura c3c2a4f697 ntoskrnl.exe: Implement DPC-level queued spinlock functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura 05f5cce6c8 ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Zebediah Figura da4291dfc5 ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Zebediah Figura a1dfdfaf22 ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Zebediah Figura e07d25c799 ntoskrnl.exe/tests: Open the test file for synchronous I/O.
Especially to avoid a panic when we close the file before a write has completed.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:27:29 +01:00
Zebediah Figura 08ba44618d ntoskrnl.exe: Implement PsTerminateSystemThread().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 12:00:50 +01:00
Zebediah Figura 171bf1e2a0 ntoskrnl.exe: Implement ExInterlockedRemoveHeadList().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 12:00:50 +01:00
Zebediah Figura 834db73121 ntoskrnl.exe: Implement IoAcquireCancelSpinLock().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 11:55:54 +01:00
Zebediah Figura e834d38c77 ntoskrnl.exe: Implement IoReleaseCancelSpinLock().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 11:55:51 +01:00
Zebediah Figura fee112f90a ntoskrnl.exe: Implement KeAcquireSpinLockRaiseToDpc().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:46:15 +01:00
Zebediah Figura 55463d4aa8 ntoskrnl.exe: Implement KeReleaseSpinLock().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:26:50 +01:00
Zebediah Figura 92b047e722 ntoskrnl.exe: Implement KeInitializeSpinLock().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:26:01 +01:00
Sven Baars 26db17e90d ntoskrnl.exe/tests: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-17 19:45:27 +01:00
Alexandre Julliard 5bfa5f1e39 ntoskrnl.exe/tests: Fix path buffer allocation size.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-17 19:45:25 +01:00
Zebediah Figura 48504a2cc7 ntoskrnl.exe: Properly handle already-loaded drivers in handle_bus_relations().
This fixes a regression introduced by d498780294.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46469
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-15 14:30:00 +01:00
Gijs Vermeulen db8f599863 ntoskrnl.exe/tests: Avoid passing uninitialized data to DeviceIoControl().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46346
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-10 09:29:19 -06:00
Józef Kucia ff6eadc6ae ntoskrnl.exe: Fix service handle leak in ZwLoadDriver() (Coverity).
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-08 09:29:13 -06:00
Zebediah Figura d498780294 ntoskrnl.exe: Handle already-loaded drivers in handle_bus_relations().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-24 20:12:21 +01:00
Zebediah Figura e3ad1cff73 ntoskrnl.exe: Avoid loading a driver multiple times in ZwLoadDriver().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45805
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-24 20:12:16 +01:00
Michael Stefaniuc 7a43ea94ee ntoskrnl.exe: Drop the WINE_ prefix from debug functions.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-05 22:33:43 +01:00
Alex Henrie 2e758ea86c ntoskrnl.exe: Make several string constants static.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 19:36:51 +01:00
Zebediah Figura c00a322d97 ntoskrnl.exe: Implement KeDelayExecutionThread().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:35:12 +01:00
Zebediah Figura 49e580122a ntoskrnl.exe/tests: Add tests for waiting on timers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:35:08 +01:00
Zebediah Figura fc230cd4e3 ntoskrnl.exe: Implement KeCancelTimer().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:35:03 +01:00
Zebediah Figura 55778f4d8a ntoskrnl.exe: Implement KeSetTimerEx() and waiting on timers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:34:58 +01:00
Zebediah Figura bbed1bdd47 ntoskrnl.exe: Implement KeInitializeTimerEx().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:34:32 +01:00
Zebediah Figura b9e556d5e8 ntoskrnl.exe: Implement KeClearEvent().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 08:59:58 +01:00
Zebediah Figura af0c6b5cae ntoskrnl.exe: Implement KeWaitForMutexObject().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 08:59:53 +01:00
Zebediah Figura 1aaabb781b ntoskrnl.exe: Implement KeReleaseMutex() and waiting on mutexes.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 08:59:49 +01:00
Zebediah Figura e3223f30aa ntoskrnl.exe: Implement KeInitializeMutex().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 08:59:17 +01:00
Zebediah Figura 4824d7217b ntoskrnl.exe: Implement KeReleaseSemaphore() and waiting on semaphores.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 08:59:12 +01:00
Zebediah Figura 8589d094ff ntoskrnl.exe: Implement KeInitializeSemaphore().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 08:58:51 +01:00
Zebediah Figura 0bef15b965 ntoskrnl.exe/tests: Add some tests for synchronization functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 13:27:31 +01:00
Zebediah Figura 05b278675f ntoskrnl.exe: Implement KeWaitForSingleObject().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 13:27:28 +01:00
Zebediah Figura 6345787cf4 ntoskrnl.exe: Implement KeResetEvent().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 13:27:25 +01:00
Zebediah Figura 469c2fd4d7 ntoskrnl.exe: Implement KeSetEvent().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 13:27:13 +01:00
Zebediah Figura a29204cb13 ntoskrnl.exe: Implement KeInitializeEvent().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 13:26:39 +01:00
Zebediah Figura d3b2517c88 ntoskrnl.exe: Implement KeWaitForMultipleObjects().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 13:26:37 +01:00
Aric Stewart 73e448820b ntoskrnl.exe: Create the device interface symlink in IoSetDeviceInterfaceState().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:57:21 +01:00
Michael Stefaniuc b0bcfabf2d ntoskrnl.exe: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 23:02:01 +01:00
Aric Stewart 9faf36789d ntoskrnl.exe: Implement IoRegisterDeviceInterface.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 09:56:18 +01:00
Louis Lenders 52ed788838 ntoskrnl.exe: Add stub for KeSetTargetProcessorDpc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46040
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 21:39:42 +01:00
Austin English b3252feb3f ntoskrnl.exe: Add MmCopyVirtualMemory stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 10:33:27 +01:00
Austin English 454ba90abf ntoskrnl.exe: Add PsGetProcessWow64Process stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 10:33:25 +01:00
Alexandre Julliard 72662305b3 ntdll: Partially implement RtlRandomEx().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 13:07:15 +02:00
Alexandre Julliard 4100bac563 ntoskrnl/tests: Fix error check that fails on Windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 19:21:17 +02:00
Jactry Zeng c43030b664 ntoskrnl: Add FsRtlIsNameInExpression stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41039
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-14 12:52:35 +02:00
Huw Davies 9f74c00e06 ntoskrnl: Allow space for the '\0'.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:16:44 +02:00
Gijs Vermeulen 2e807d4bf5 ntoskrnl: Add ExReleaseResourceLite stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45800
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-11 11:38:17 +02:00
Dmitry Timoshkov ffbb44b01f ntoskrnl: Add a test for a failing to load driver.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-06 19:42:49 +02:00
Dmitry Timoshkov 8a20d6e83d ntoskrnl: Fix cross-compilation of the driver tests.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-06 19:42:48 +02:00
Dmitry Timoshkov 847fb84d81 ntoskrnl.exe: Add a stub for MmCreateSection.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-06 17:07:15 +02:00
Zebediah Figura c18f8e4c32 winedevice: Reimplement (un)loading drivers on top of ZwLoadDriver()/ZwUnloadDriver().
We can't implement ZwLoadDriver() on top of StartService(), since the latter
takes the service database lock. Instead simply move the entire body of
create_driver()/unload_driver() into ZwLoadDriver()/ZwUnloadDriver().
Similarly, clean up the list of loaded drivers in ntoskrnl rather than
winedevice.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45084
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:38 +02:00
Zebediah Figura 0a648b272c ntoskrnl.exe/tests: Add basic tests for ZwLoadDriver()/ZwUnloadDriver().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:38 +02:00
Alistair Leslie-Hughes 6b3f665787 ntoskrnl.exe: Add DbgQueryDebugFilterState stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45655
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:36 +02:00
Zebediah Figura 6a4be7155d ntoskrnl.exe: Broadcast WM_DEVICECHANGE when a PnP device is added or removed.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 20:02:18 +02:00
Zebediah Figura ad6845b4af ntoskrnl.exe: Implement IoSetDeviceInterfaceState().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:53:04 +02:00
Fabian Maurer d509b1579e ntoskrnl: Emulate sti/cli instructions on x86_64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45521
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Austin English 235f6da846 ntoskrnl.exe: Add IoReleaseRemoveLockAndWaitEx stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43642
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 08:41:36 +02:00
Austin English af00d2cc1f ntoskrnl.exe: Add a stub for KeFlushQueuedDpcs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45448
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 10:09:37 +02:00
Alistair Leslie-Hughes d6a2f5e238 ntoskrnl.exe/tests: Add KeInitializeTimerEx tests.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 13:36:55 +02:00
Alexander Morozov 7df543438a ntoskrnl.exe: Improve KeInitializeTimerEx stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 13:36:53 +02:00
Louis Lenders 37e22ebb33 ntoskrnl.exe: Add stub for IoUnregisterPlugPlayNotification.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 11:03:06 +02:00
Derek Lesho bccadc0d28 ntoskrnl: Have MmIsAddressValid use IsBadReadPtr.
Signed-off-by: Derek Lesho <dereklesho52@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 19:45:37 +02:00
Alex Henrie bc4624c740 ntoskrnl: Add SeSinglePrivilegeCheck stub.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 12:09:17 +02:00
Michael Müller 3f4af3afce ntdll: Add stub for RtlIpv6StringToAddressExW.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
André Hentschel e637a6f0bf 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>
2018-05-04 00:16:09 +02:00
Zebediah Figura 09a39230c2 ntoskrnl/tests: Use WINAPIV calling convention for variadic functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 10:29:55 +02:00
Zebediah Figura fb365b10e6 ntoskrnl.exe/tests: Add a simple test for MmMapLockedPagesSpecifyCache().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-02 10:00:48 +02:00
Zebediah Figura 80f82ee9d7 ntoskrnl.exe/tests: Add a test for IoGetCurrentProcess().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-02 10:00:46 +02:00
Zebediah Figura 0dc84eada2 ntoskrnl.exe/tests: Also handle ERROR_INVALID_IMAGE_HASH.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-02 09:56:51 +02:00
Sebastian Lackner 417e542e7a ntoskrnl.exe/tests: Add test driver.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-01 12:59:26 +02:00
Alistair Leslie-Hughes f8f7b46ea4 ntoskrnl: Add FsRtlRegisterFileSystemFilterCallbacks stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-17 17:03:13 +02:00
Alistair Leslie-Hughes bb74918b23 ntoskrnl: Implement ExInterlockedPushEntrySList.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-16 10:32:00 +02:00
Michael Müller ae75d6a92b ntoskrnl: Implement ExInterlockedPopEntrySList.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-16 10:31:56 +02:00
Alistair Leslie-Hughes b0351a12b1 ntoskrnl: Add ObGetObjectType stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 10:15:35 +02:00
Alistair Leslie-Hughes d4c2759a1d ntoskrnl: Add PsGetProcessId stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 10:15:21 +02:00
Alistair Leslie-Hughes ccbefb818a ntoskrnl: Add ExfUnblockPushLock stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 10:15:05 +02:00
Alistair Leslie-Hughes dd7467cc4d ntoskrnl: Add PsAcquireProcessExitSynchronization/PsReleaseProcessExitSynchronization stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 10:14:42 +02:00
Gijs Vermeulen 96e4ec81ec ntoskrnl.exe: Improve IoCreateSynchronizationEvent stub.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 10:13:57 +02:00
Gijs Vermeulen db33beb090 ntoskrnl.exe: Improve ObReferenceObjectByHandle stub.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 10:13:48 +02:00
Zebediah Figura f80b1f45ff ntdll: Implement _alldvrm() and _aulldvrm().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 18:22:36 +02:00
Alexander Morozov fec2aadebe ntoskrnl.exe: Add stubs for ExAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafe.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 18:22:36 +02:00
Alexandre Julliard ce09790d29 ntoskrnl: Add emulation of CRn and DRn registers on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 11:46:01 +02:00
Alistair Leslie-Hughes 075cbd3474 ntoskrnl.exe: Implement _chkstk.
These are just copied from ntdll.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 10:33:43 +02:00
Alexandre Julliard f2cb86decb ntoskrnl: Add prefixes on all C runtime functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 22:58:50 +01:00
Alistair Leslie-Hughes 813c6f3af6 ntoskrnl.exe: Add ObGetFilterVersion stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 19:18:38 +01:00
Alistair Leslie-Hughes 8b0c857c81 ntoskrnl.exe: Add ObUnRegisterCallbacks stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 19:18:28 +01:00
Alistair Leslie-Hughes 6bc12302d9 ntoskrnl.exe: Add ObRegisterCallbacks stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 19:18:21 +01:00
Alistair Leslie-Hughes 882d70fe39 ntoskrnl.exe: Dont forward some msvcrt functions.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:24:53 +01:00
Stefan Leichter 535419a2bf ntdll: Implement RtlCreateRegistryKey.
Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 14:24:01 +01:00
Christian Costa 0cb9ddb7f5 ntoskrnl.exe: Fix IoReleaseCancelSpinLock argument.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 19:10:54 +01:00
Alexander Morozov 3a82fde6b5 ntoskrnl.exe: Add stub for ObReferenceObjectByPointer.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 19:10:50 +01:00
Louis Lenders e24af9660a ntdll: Match NtAllocateUuids signature to Windows 2000 instead of NT4.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 18:00:54 +01:00
Austin English 9566c50a1e ntoskrnl.exe: Add PsSetCreateProcessNotifyRoutineEx stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-06 09:15:29 -06:00
Alexandre Julliard 9f103a9e78 ntoskrnl.exe: More general implementation of the CRn and DRn registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Alexandre Julliard 0cbb5d0a14 ntoskrnl.exe: Add a helper function for accessing registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Alexandre Julliard bf35c2612c ntoskrnl: Avoid forwarding to ntdll, link directly instead.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 13:47:47 +01:00
Alexandre Julliard cd1f412d3a ntoskrnl: Use the magic format string prefix for relay traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-25 12:05:40 +01:00
Alex Henrie 71e04aaa38 ntdll: Add stub for RtlIpv4StringToAddressW.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 11:01:49 +02:00
Michael Müller e0392c3ba8 ntdll: Fix parameters of RtlIpv4StringToAddressExW.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 11:01:41 +02:00
Alexandre Julliard e6ff0e6357 ntoskrnl: Mark function that are only called from assembly as hidden.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 11:48:46 +02:00
Alexandre Julliard dc63fbf98d ntdll: Use RtlCaptureContext also in RtlUnwind.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
Alexandre Julliard a75e3f734d ntdll: Call NtRaiseException directly from RtlRaiseException on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-20 13:54:43 +02:00
Austin English b3a698e501 ntoskrnl.exe: Add IoCreateNotificationEvent stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 13:48:54 +02:00
Austin English 362ceb2e56 ntoskrnl.exe: Add KeReleaseSpinLock stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-21 23:21:16 +02:00
Austin English 0c3a2a67a2 ntoskrnl: Add KeAcquireSpinLockRaiseToDpc stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-20 11:48:30 +02:00
Austin English 18c94886d7 ntoskrnl.exe: Add IoReportResourceForDetection stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 19:06:16 +02:00
Sebastian Lackner 1cab71c788 ntoskrnl.exe: Do not use P* types in IoReportResourceUsage.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 19:06:08 +02:00
Austin English ce9b40d79b ntoskrnl.exe: Add KeWaitForMultipleObjects stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:26 +01:00
Sebastian Lackner 83b9fdb23b ntoskrnl.exe: Add KeReleaseInStackQueuedSpinLock stub.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 16:33:39 +01:00
Austin English f3ccfc092b ntoskrnl.exe: Add KeAcquireInStackQueuedSpinLock stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 16:33:38 +01:00
André Hentschel 96b443ae39 ntoskrnl.exe: Fix some spec file entries.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 13:15:44 +01:00
Jarkko Korpi 85214c56e3 ntoskrnl: Add IoStopTimer stub.
Signed-off-by: Jarkko Korpi <jarkko_korpi@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-06 22:58:55 +01:00