Alexandre Julliard : ntoskrnl.exe: Added IofCompleteRequest.

Alexandre Julliard julliard at wine.codeweavers.com
Wed May 16 09:10:23 CDT 2007


Module: wine
Branch: master
Commit: e2d94ec0014cb8b167d9598c15b3f7d4f60ffb04
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e2d94ec0014cb8b167d9598c15b3f7d4f60ffb04

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue May 15 21:56:05 2007 +0200

ntoskrnl.exe: Added IofCompleteRequest.

---

 dlls/ntoskrnl.exe/ntoskrnl.c        |   31 +++++++++++++++++++++++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 2 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 8ed3a51..8884622 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -51,6 +51,22 @@ typedef struct _KSERVICE_TABLE_DESCRIPTOR
 KSERVICE_TABLE_DESCRIPTOR KeServiceDescriptorTable[4];
 
 
+#ifdef __i386__
+#define DEFINE_FASTCALL1_ENTRYPOINT( name ) \
+    __ASM_GLOBAL_FUNC( name, \
+                       "popl %eax\n\t" \
+                       "pushl %ecx\n\t" \
+                       "pushl %eax\n\t" \
+                       "jmp " __ASM_NAME("__regs_") #name )
+#define DEFINE_FASTCALL2_ENTRYPOINT( name ) \
+    __ASM_GLOBAL_FUNC( name, \
+                       "popl %eax\n\t" \
+                       "pushl %edx\n\t" \
+                       "pushl %ecx\n\t" \
+                       "pushl %eax\n\t" \
+                       "jmp " __ASM_NAME("__regs_") #name )
+#endif
+
 static inline LPCSTR debugstr_us( const UNICODE_STRING *us )
 {
     if (!us) return "<null>";
@@ -183,6 +199,21 @@ NTSTATUS WINAPI IoCreateSymbolicLink( UNICODE_STRING *name, UNICODE_STRING *targ
 }
 
 
+/***********************************************************************
+ *           IofCompleteRequest   (NTOSKRNL.EXE.@)
+ */
+#ifdef DEFINE_FASTCALL2_ENTRYPOINT
+DEFINE_FASTCALL2_ENTRYPOINT( IofCompleteRequest )
+void WINAPI __regs_IofCompleteRequest( IRP *irp, UCHAR priority_boost )
+#else
+void WINAPI IofCompleteRequest( IRP *irp, UCHAR priority_boost )
+#endif
+{
+    TRACE( "%p %u\n", irp, priority_boost );
+    /* nothing to do for now */
+}
+
+
 /*****************************************************
  *           DllMain
  */
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 871216e..5bfd792 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -40,7 +40,7 @@
 @ stub IoSetPartitionInformation
 @ stub IoWritePartitionTable
 @ stub IofCallDriver
-@ stub IofCompleteRequest
+@ stdcall -norelay IofCompleteRequest(ptr long)
 @ stub KeAcquireInStackQueuedSpinLockAtDpcLevel
 @ stub KeReleaseInStackQueuedSpinLockFromDpcLevel
 @ stub KeSetTimeUpdateNotifyRoutine




More information about the wine-cvs mailing list