Author: tkreuzer
Date: Sat May 10 17:19:53 2014
New Revision: 63222
URL:
http://svn.reactos.org/svn/reactos?rev=63222&view=rev
Log:
[KMTEST]
Add a temp hack that allows to compile kmtest_drv with either the current incompatible
object type data imports or with the fixed ones
Modified:
trunk/rostests/kmtests/npfs/NpfsHelpers.c
trunk/rostests/kmtests/ntos_ex/ExFastMutex.c
trunk/rostests/kmtests/ntos_ex/ExResource.c
trunk/rostests/kmtests/ntos_io/IoCreateFile.c
trunk/rostests/kmtests/ntos_ke/KeEvent.c
trunk/rostests/kmtests/ntos_ke/KeGuardedMutex.c
trunk/rostests/kmtests/ntos_mm/MmSection.c
trunk/rostests/kmtests/ntos_mm/ZwAllocateVirtualMemory.c
trunk/rostests/kmtests/ntos_mm/ZwCreateSection.c
trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c
trunk/rostests/kmtests/ntos_ob/ObTypes.c
Modified: trunk/rostests/kmtests/npfs/NpfsHelpers.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/npfs/NpfsHelpers.…
==============================================================================
--- trunk/rostests/kmtests/npfs/NpfsHelpers.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/npfs/NpfsHelpers.c [iso-8859-1] Sat May 10 17:19:53 2014
@@ -742,7 +742,11 @@
{
Status = ObReferenceObjectByHandle(ThreadHandle,
SYNCHRONIZE,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
PsThreadType,
+#endif
KernelMode,
&ThreadObject,
NULL);
Modified: trunk/rostests/kmtests/ntos_ex/ExFastMutex.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ex/ExFastMut…
==============================================================================
--- trunk/rostests/kmtests/ntos_ex/ExFastMutex.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ex/ExFastMutex.c [iso-8859-1] Sat May 10 17:19:53
2014
@@ -90,7 +90,7 @@
KmtSetIrql(OriginalIrql);
CheckMutex(Mutex, 1L, NULL, 0LU, PASSIVE_LEVEL, OriginalIrql);
}
-
+
if (!KmtIsCheckedBuild)
{
/* release without acquire */
@@ -196,7 +196,13 @@
InitializeObjectAttributes(&Attributes, NULL, OBJ_KERNEL_HANDLE, NULL, NULL);
Status = PsCreateSystemThread(&ThreadData->Handle, GENERIC_ALL,
&Attributes, NULL, NULL, AcquireMutexThread, ThreadData);
ok_eq_hex(Status, STATUS_SUCCESS);
- Status = ObReferenceObjectByHandle(ThreadData->Handle, SYNCHRONIZE, PsThreadType,
KernelMode, (PVOID *)&ThreadData->Thread, NULL);
+ Status = ObReferenceObjectByHandle(ThreadData->Handle, SYNCHRONIZE,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, (PVOID *)&ThreadData->Thread,
NULL);
ok_eq_hex(Status, STATUS_SUCCESS);
return KeWaitForSingleObject(&ThreadData->OutEvent, Executive, KernelMode,
FALSE, Timeout);
Modified: trunk/rostests/kmtests/ntos_ex/ExResource.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ex/ExResourc…
==============================================================================
--- trunk/rostests/kmtests/ntos_ex/ExResource.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ex/ExResource.c [iso-8859-1] Sat May 10 17:19:53 2014
@@ -268,7 +268,14 @@
InitializeObjectAttributes(&Attributes, NULL, OBJ_KERNEL_HANDLE, NULL, NULL);
Status = PsCreateSystemThread(&ThreadData->Handle, GENERIC_ALL,
&Attributes, NULL, NULL, AcquireResourceThread, ThreadData);
ok_eq_hex(Status, STATUS_SUCCESS);
- Status = ObReferenceObjectByHandle(ThreadData->Handle, SYNCHRONIZE, PsThreadType,
KernelMode, (PVOID *)&ThreadData->Thread, NULL);
+ Status = ObReferenceObjectByHandle(ThreadData->Handle, SYNCHRONIZE,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+
+ KernelMode, (PVOID *)&ThreadData->Thread,
NULL);
ok_eq_hex(Status, STATUS_SUCCESS);
return KeWaitForSingleObject(&ThreadData->OutEvent, Executive, KernelMode,
FALSE, Timeout);
Modified: trunk/rostests/kmtests/ntos_io/IoCreateFile.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_io/IoCreateF…
==============================================================================
--- trunk/rostests/kmtests/ntos_io/IoCreateFile.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_io/IoCreateFile.c [iso-8859-1] Sat May 10 17:19:53
2014
@@ -57,7 +57,11 @@
{
Status = ObReferenceObjectByHandle(TargetHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
KernelMode,
(PVOID *)&TargetFileObject,
NULL);
@@ -103,7 +107,11 @@
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
@@ -173,7 +181,11 @@
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
@@ -187,7 +199,11 @@
ok_eq_long(RtlCompareUnicodeString(&ParentFileObject->FileName,
&TargetFileObject->FileName, FALSE), 0);
Status = ObReferenceObjectByHandle(SystemRootHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
KernelMode,
(PVOID *)&SystemRootFileObject,
NULL);
@@ -240,7 +256,12 @@
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
+
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
@@ -302,7 +323,12 @@
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
+
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
@@ -316,7 +342,12 @@
ok_eq_long(RtlCompareUnicodeString(&ParentFileObject->FileName,
&TargetFileObject->FileName, FALSE), 0);
Status = ObReferenceObjectByHandle(SystemRootHandle,
FILE_READ_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
IoFileObjectType,
+#endif
+
KernelMode,
(PVOID *)&SystemRootFileObject,
NULL);
@@ -534,7 +565,11 @@
/* Then, just wait on our thread to finish */
Status = ObReferenceObjectByHandle(ThreadHandle,
SYNCHRONIZE,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
PsThreadType,
+#endif
KernelMode,
&ThreadObject,
NULL);
Modified: trunk/rostests/kmtests/ntos_ke/KeEvent.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ke/KeEvent.c…
==============================================================================
--- trunk/rostests/kmtests/ntos_ke/KeEvent.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ke/KeEvent.c [iso-8859-1] Sat May 10 17:19:53 2014
@@ -169,7 +169,13 @@
Threads[i].Signal = FALSE;
Status = PsCreateSystemThread(&Threads[i].Handle, GENERIC_ALL, NULL, NULL,
NULL, WaitForEventThread, &Threads[i]);
ok_eq_hex(Status, STATUS_SUCCESS);
- Status = ObReferenceObjectByHandle(Threads[i].Handle, SYNCHRONIZE, PsThreadType,
KernelMode, (PVOID *)&Threads[i].Thread, NULL);
+ Status = ObReferenceObjectByHandle(Threads[i].Handle, SYNCHRONIZE,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, (PVOID *)&Threads[i].Thread,
NULL);
ok_eq_hex(Status, STATUS_SUCCESS);
ThreadObjects[i] = Threads[i].Thread;
Priority = KeQueryPriorityThread(Threads[i].Thread);
Modified: trunk/rostests/kmtests/ntos_ke/KeGuardedMutex.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ke/KeGuarded…
==============================================================================
--- trunk/rostests/kmtests/ntos_ke/KeGuardedMutex.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ke/KeGuardedMutex.c [iso-8859-1] Sat May 10 17:19:53
2014
@@ -204,7 +204,13 @@
InitializeObjectAttributes(&Attributes, NULL, OBJ_KERNEL_HANDLE, NULL, NULL);
Status = PsCreateSystemThread(&ThreadData->Handle, GENERIC_ALL,
&Attributes, NULL, NULL, AcquireMutexThread, ThreadData);
ok_eq_hex(Status, STATUS_SUCCESS);
- Status = ObReferenceObjectByHandle(ThreadData->Handle, SYNCHRONIZE, PsThreadType,
KernelMode, (PVOID *)&ThreadData->Thread, NULL);
+ Status = ObReferenceObjectByHandle(ThreadData->Handle, SYNCHRONIZE,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, (PVOID *)&ThreadData->Thread,
NULL);
ok_eq_hex(Status, STATUS_SUCCESS);
return KeWaitForSingleObject(&ThreadData->OutEvent, Executive, KernelMode,
FALSE, Timeout);
Modified: trunk/rostests/kmtests/ntos_mm/MmSection.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_mm/MmSection…
==============================================================================
--- trunk/rostests/kmtests/ntos_mm/MmSection.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_mm/MmSection.c [iso-8859-1] Sat May 10 17:19:53 2014
@@ -428,7 +428,13 @@
if (!skip(Status == STATUS_SUCCESS && FileHandle1 != NULL, "Failed to
open file 1\n"))
{
- Status = ObReferenceObjectByHandle(FileHandle1, FILE_READ_DATA | FILE_WRITE_DATA,
IoFileObjectType, KernelMode, (PVOID *)&FileObject1, NULL);
+ Status = ObReferenceObjectByHandle(FileHandle1, FILE_READ_DATA | FILE_WRITE_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
+ IoFileObjectType,
+#endif
+ KernelMode, (PVOID *)&FileObject1, NULL);
ok_eq_hex(Status, STATUS_SUCCESS);
ok(FileObject1 != NULL, "FileObject1 is NULL\n");
CheckObject(FileHandle1, 3L, 1L);
@@ -436,7 +442,13 @@
if (!skip(Status == STATUS_SUCCESS && FileHandle2 != NULL, "Failed to
open file 2\n"))
{
- Status = ObReferenceObjectByHandle(FileHandle2, FILE_READ_DATA | FILE_WRITE_DATA,
IoFileObjectType, KernelMode, (PVOID *)&FileObject2, NULL);
+ Status = ObReferenceObjectByHandle(FileHandle2, FILE_READ_DATA | FILE_WRITE_DATA,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
+ IoFileObjectType,
+#endif
+ KernelMode, (PVOID *)&FileObject2, NULL);
ok_eq_hex(Status, STATUS_SUCCESS);
ok(FileObject2 != NULL, "FileObject2 is NULL\n");
}
Modified: trunk/rostests/kmtests/ntos_mm/ZwAllocateVirtualMemory.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_mm/ZwAllocat…
==============================================================================
--- trunk/rostests/kmtests/ntos_mm/ZwAllocateVirtualMemory.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_mm/ZwAllocateVirtualMemory.c [iso-8859-1] Sat May 10
17:19:53 2014
@@ -437,7 +437,13 @@
goto cleanup;
}
- Status = ObReferenceObjectByHandle(Thread1, THREAD_ALL_ACCESS, PsThreadType,
KernelMode, &ThreadObjects[0], NULL);
+ Status = ObReferenceObjectByHandle(Thread1, THREAD_ALL_ACCESS,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, &ThreadObjects[0], NULL);
if (!NT_SUCCESS(Status))
{
trace("error referencing thread1\n");
@@ -451,7 +457,13 @@
goto cleanup;
}
- Status = ObReferenceObjectByHandle(Thread2, THREAD_ALL_ACCESS, PsThreadType,
KernelMode, &ThreadObjects[1], NULL);
+ Status = ObReferenceObjectByHandle(Thread2, THREAD_ALL_ACCESS,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, &ThreadObjects[1], NULL);
if (!NT_SUCCESS(Status))
{
trace("error referencing thread2\n");
Modified: trunk/rostests/kmtests/ntos_mm/ZwCreateSection.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_mm/ZwCreateS…
==============================================================================
--- trunk/rostests/kmtests/ntos_mm/ZwCreateSection.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_mm/ZwCreateSection.c [iso-8859-1] Sat May 10 17:19:53
2014
@@ -464,7 +464,13 @@
/* FIXME: Null pointer dereference. See ROSTESTS-108 */
#ifdef ROSTESTS_108_FIXED
//mimic lack of section support for a particular file as well.
- Status = ObReferenceObjectByHandle(FileHandle, STANDARD_RIGHTS_ALL, IoFileObjectType,
KernelMode, (PVOID *)&FileObject, NULL);
+ Status = ObReferenceObjectByHandle(FileHandle, STANDARD_RIGHTS_ALL,
+#ifdef _PROPER_NT_EXPORTS
+ *IoFileObjectType,
+#else
+ IoFileObjectType,
+#endif
+ KernelMode, (PVOID *)&FileObject, NULL);
if (!skip(NT_SUCCESS(Status), "Cannot reference object by handle\n"))
{
PSECTION_OBJECT_POINTERS Pointers = FileObject->SectionObjectPointer;
Modified: trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_mm/ZwMapView…
==============================================================================
--- trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c [iso-8859-1] Sat May 10 17:19:53
2014
@@ -390,7 +390,13 @@
Status = PsCreateSystemThread(&SysThreadHandle, STANDARD_RIGHTS_ALL,
&ObjectAttributes, NULL, NULL, SystemProcessWorker, NULL);
if (!skip(NT_SUCCESS(Status), "Error creating System thread. Error =
%p\n", Status))
{
- Status = ObReferenceObjectByHandle(SysThreadHandle, THREAD_ALL_ACCESS,
PsThreadType, KernelMode, &ThreadObject, NULL);
+ Status = ObReferenceObjectByHandle(SysThreadHandle, THREAD_ALL_ACCESS,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, &ThreadObject, NULL);
if (!skip(NT_SUCCESS(Status), "Error getting reference to System thread
when testing file-backed section\n"))
{
//wait until the system thread actually terminates
@@ -515,7 +521,13 @@
if (!skip(NT_SUCCESS(Status), "Error creating System thread. Error =
%p\n", Status))
{
- Status = ObReferenceObjectByHandle(SysThreadHandle, THREAD_ALL_ACCESS,
PsThreadType, KernelMode, &ThreadObject, NULL);
+ Status = ObReferenceObjectByHandle(SysThreadHandle, THREAD_ALL_ACCESS,
+#ifdef _PROPER_NT_EXPORTS
+ *PsThreadType,
+#else
+ PsThreadType,
+#endif
+ KernelMode, &ThreadObject, NULL);
if (!skip(NT_SUCCESS(Status), "Error getting reference to System
thread when testing pagefile-backed section\n"))
{
//wait until the system thread actually terminates
Modified: trunk/rostests/kmtests/ntos_ob/ObTypes.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ob/ObTypes.c…
==============================================================================
--- trunk/rostests/kmtests/ntos_ob/ObTypes.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ob/ObTypes.c [iso-8859-1] Sat May 10 17:19:53 2014
@@ -164,6 +164,40 @@
SeDefaultObjectMethod = ObpTypeObjectType->TypeInfo.SecurityProcedure;
ok(SeDefaultObjectMethod != NULL, "No SeDefaultObjectMethod\n");
+#ifdef _PROPER_NT_EXPORTS
+#define ExSemaphoreObjectType *ExSemaphoreObjectType
+#define SeTokenObjectType *SeTokenObjectType
+#define PsProcessType *PsProcessType
+#define PsThreadType *PsThreadType
+#define ExEventObjectType *ExEventObjectType
+#define IoFileObjectType *IoFileObjectType
+#endif
+#ifdef _PROPER_NT_NDK_EXPORTS
+#define ObpTypeObjectType *ObpTypeObjectType
+#define ObpDirectoryObjectType *ObpDirectoryObjectType
+#define ObpSymbolicLinkObjectType *ObpSymbolicLinkObjectType
+#define PsJobType *PsJobType
+#define DbgkDebugObjectType *DbgkDebugObjectType
+#define ExEventPairObjectType *ExEventPairObjectType
+#define ExMutantObjectType *ExMutantObjectType
+#define ExCallbackObjectType *ExCallbackObjectType
+#define ExTimerObjectType *ExTimerObjectType
+#define ExProfileObjectType *ExProfileObjectType
+#define ExpKeyedEventObjectType *ExpKeyedEventObjectType
+#define ExWindowStationObjectType *ExWindowStationObjectType
+#define ExDesktopObjectType *ExDesktopObjectType
+#define MmSectionObjectType *MmSectionObjectType
+#define CmpKeyObjectType *CmpKeyObjectType
+#define LpcPortObjectType *LpcPortObjectType
+#define LpcWaitablePortObjectType *LpcWaitablePortObjectType
+#define IoAdapterObjectType *IoAdapterObjectType
+#define IoControllerObjectType *IoControllerObjectType
+#define IoDeviceObjectType *IoDeviceObjectType
+#define IoDriverObjectType *IoDriverObjectType
+#define IoCompletionObjectType *IoCompletionObjectType
+#define WmipGuidObjectType *WmipGuidObjectType
+#endif
+
Index = 1;
CheckObjectType(Type, ObpTypeObjectType, OBT_MAINTAIN_TYPE_LIST |
OBT_CUSTOM_KEY, 0x100, 0x020000, 0x020000, 0x020000, 0x0f0001, 0x1f0001);
ok_eq_hex(ObpTypeObjectType->Key, TAG('ObjT'));