ntoskrnl.exe: Add a stub implementation of KeInitializeTimer

James Hawkins truiken at gmail.com
Mon Jun 18 16:19:09 CDT 2007


Hi,

The Fahrenheit installer calls this function.  KTIMER is defined in
ketypes.h in the ddk, but that file doesn't exist for us yet, and I
followed the example of others and defined it in wdm.h (where most of
the types in ketypes.h were defined instead).

Changelog:
* Add a stub implementation of KeInitializeTimer.

 dlls/ntoskrnl.exe/ntoskrnl.c        |    8 ++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 include/ddk/wdm.h                   |    8 ++++++++
 3 files changed, 17 insertions(+), 1 deletions(-)

-- 
James Hawkins
-------------- next part --------------
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 3bbb205..7aad87a 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -417,6 +417,14 @@ void WINAPI ExFreePoolWithTag( void *ptr
     HeapFree( GetProcessHeap(), 0, ptr );
 }
 
+/***********************************************************************
+ *           KeInitializeTimer   (NTOSKRNL.EXE.@)
+ */
+void WINAPI KeInitializeTimer( PKTIMER Timer )
+{
+    FIXME("%p\n", Timer);
+}
+
 
 /***********************************************************************
  *           KeQuerySystemTime   (NTOSKRNL.EXE.@)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 192e255..45449a0 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -553,7 +553,7 @@
 @ stub KeInitializeQueue
 @ stub KeInitializeSemaphore
 @ stub KeInitializeSpinLock
-@ stub KeInitializeTimer
+@ stdcall KeInitializeTimer(ptr)
 @ stub KeInitializeTimerEx
 @ stub KeInsertByKeyDeviceQueue
 @ stub KeInsertDeviceQueue
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 38b3625..8aabf79 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -780,6 +780,14 @@ typedef struct _MDL {
   ULONG  ByteOffset;
 } MDL, *PMDL;
 
+typedef struct _KTIMER {
+    DISPATCHER_HEADER Header;
+    ULARGE_INTEGER DueTime;
+    LIST_ENTRY TimerListEntry;
+    struct _KDPC *Dpc;
+    LONG Period;
+} KTIMER, *PKTIMER;
+
 typedef struct _KSYSTEM_TIME {
     ULONG LowPart;
     LONG High1Time;
-- 
1.4.1


More information about the wine-patches mailing list