Commit Graph

413 Commits

Author SHA1 Message Date
Piotr Caban 5e80774131 ntoskrnl.exe: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 19:23:23 +02:00
Jacek Caban b9c621856f ntoskrnl.exe: Support event functions on kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 14:01:45 +01:00
Jacek Caban f57a383d09 ntoskrnl.exe: Support waiting on kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:59:04 +01:00
Jacek Caban 0decadd62a ntoskrnl.exe: Support creating event objects from server handle.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:59:04 +01:00
Jacek Caban a5c2f043e6 server: Notify client about freed object so that it may free associated kernel object.
Long term, we may consider making interface between server and device
manager more generic so that it could be used for messages other than IRPs.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:59:04 +01:00
Jacek Caban 94c1ef0ee1 server: Allow kernel to keep reference to server objects by client pointer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:57:18 +01:00
Jacek Caban 134e264ae5 server: Store pointers to objects created by kernel_object_from_handle in server.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:56:31 +01:00
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