Added APC support to NtDeviceIoControlFile().
authorEric Kohl <eric.kohl@reactos.org>
Sun, 7 Nov 1999 14:08:11 +0000 (14:08 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 7 Nov 1999 14:08:11 +0000 (14:08 +0000)
svn path=/trunk/; revision=758

reactos/doc/todo
reactos/ntoskrnl/io/ioctrl.c

index 360601c..e215b16 100644 (file)
@@ -21,7 +21,6 @@
        Error logging (see io/errlog.c)
        Buffer flushing (see io/flush.c)
        Io completion ports (see io/iocomp.c)
-       DeviceIoControl support (see io/ioctrl.c)
        File locking (see io/lock.c)
        Mailslots (see io/mailslot.c)
        Named pipes (see io/npipe.c)
index 8d58fca..120e9b7 100644 (file)
@@ -1,4 +1,5 @@
-/*
+/* $Id: ioctrl.c,v 1.8 1999/11/07 14:07:35 ekohl Exp $
+ *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/io/ioctrl.c
@@ -9,6 +10,7 @@
  *                  Created 22/05/98
  *                  Filled in ZwDeviceIoControlFile 22/02/99
  *                  Fixed IO method handling 08/03/99
+ *                  Added APC support 05/11/99
  */
 
 /* INCLUDES *****************************************************************/
@@ -26,9 +28,6 @@ ULONG IoGetFunctionCodeFromCtlCode(ULONG ControlCode)
 }
 
 
-/*
- * NOTES: No apc support yet!
- */
 NTSTATUS
 STDCALL
 NtDeviceIoControlFile (
@@ -87,7 +86,10 @@ NtDeviceIoControlFile (
                                       FALSE,
                                       &KEvent,
                                       IoStatusBlock);
-   
+
+   Irp->Overlay.AsynchronousParameters.UserApcRoutine = UserApcRoutine;
+   Irp->Overlay.AsynchronousParameters.UserApcContext = UserApcContext;
+
    StackPtr = IoGetNextIrpStackLocation(Irp);
    StackPtr->DeviceObject = DeviceObject;
    StackPtr->Parameters.DeviceIoControl.InputBufferLength = InputBufferSize;
@@ -102,3 +104,4 @@ NtDeviceIoControlFile (
    return(Status);
 }
 
+/* EOF */