Damjan Jovanovic : ntoskrnl.exe: Implement IoCompleteRequest.

Alexandre Julliard julliard at winehq.org
Tue Mar 23 12:12:51 CDT 2010


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

Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date:   Tue Mar 23 17:52:49 2010 +0200

ntoskrnl.exe: Implement IoCompleteRequest.

---

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

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 3513b01..7a5af73 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -789,14 +789,9 @@ NTSTATUS WINAPI IoReportResourceUsage(PUNICODE_STRING name, PDRIVER_OBJECT drv_o
 
 
 /***********************************************************************
- *           IofCompleteRequest   (NTOSKRNL.EXE.@)
+ *           IoCompleteRequest   (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
+VOID WINAPI IoCompleteRequest( IRP *irp, UCHAR priority_boost )
 {
     IO_STACK_LOCATION *irpsp;
     PIO_COMPLETION_ROUTINE routine;
@@ -853,6 +848,21 @@ void WINAPI IofCompleteRequest( IRP *irp, UCHAR priority_boost )
 
 
 /***********************************************************************
+ *           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 );
+    IoCompleteRequest( irp, priority_boost );
+}
+
+
+/***********************************************************************
  *           InterlockedCompareExchange   (NTOSKRNL.EXE.@)
  */
 #ifdef DEFINE_FASTCALL3_ENTRYPOINT
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 0cbbbc6..993de77 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -333,7 +333,7 @@
 @ stub IoCheckQuerySetVolumeInformation
 @ stub IoCheckQuotaBufferValidity
 @ stub IoCheckShareAccess
-@ stub IoCompleteRequest
+@ stdcall IoCompleteRequest(ptr long)
 @ stub IoConnectInterrupt
 @ stub IoCreateController
 @ stdcall IoCreateDevice(ptr long ptr long long long ptr)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 72c6e85..95a27a8 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1047,6 +1047,7 @@ void      WINAPI ExFreePoolWithTag(PVOID,ULONG);
 NTSTATUS  WINAPI IoAllocateDriverObjectExtension(PDRIVER_OBJECT,PVOID,ULONG,PVOID*);
 PVOID     WINAPI IoAllocateErrorLogEntry(PVOID,UCHAR);
 PIRP      WINAPI IoAllocateIrp(CCHAR,BOOLEAN);
+VOID      WINAPI IoCompleteRequest(IRP*,UCHAR);
 NTSTATUS  WINAPI IoCreateDevice(DRIVER_OBJECT*,ULONG,UNICODE_STRING*,DEVICE_TYPE,ULONG,BOOLEAN,DEVICE_OBJECT**);
 NTSTATUS  WINAPI IoCreateDriver(UNICODE_STRING*,PDRIVER_INITIALIZE);
 NTSTATUS  WINAPI IoCreateSymbolicLink(UNICODE_STRING*,UNICODE_STRING*);




More information about the wine-cvs mailing list