Piotr Caban : ntoskrnl.exe: Add IoDetachDevice implementation.
Alexandre Julliard
julliard at winehq.org
Mon May 27 14:50:21 CDT 2019
Module: wine
Branch: master
Commit: e0e795cfe9760bb0775f874fc1d32a752dced537
URL: https://source.winehq.org/git/wine.git/?a=commit;h=e0e795cfe9760bb0775f874fc1d32a752dced537
Author: Piotr Caban <piotr at codeweavers.com>
Date: Mon May 27 14:37:46 2019 +0200
ntoskrnl.exe: Add IoDetachDevice implementation.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 4 ++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
include/ddk/wdm.h | 1 +
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index c26e411..08353b2 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1222,6 +1222,10 @@ void WINAPI IoQueueWorkItem( PIO_WORKITEM work_item, PIO_WORKITEM_ROUTINE worker
TrySubmitThreadpoolCallback( run_work_item_worker, work_item, NULL );
}
+void WINAPI IoDetachDevice( DEVICE_OBJECT *device )
+{
+ device->AttachedDevice = NULL;
+}
/***********************************************************************
* IoAttachDeviceToDeviceStack (NTOSKRNL.EXE.@)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 202e919..72ebdc1 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -369,7 +369,7 @@
@ stdcall IoDeleteDevice(ptr)
@ stdcall IoDeleteDriver(ptr)
@ stdcall IoDeleteSymbolicLink(ptr)
-@ stub IoDetachDevice
+@ stdcall IoDetachDevice(ptr)
@ stub IoDeviceHandlerObjectSize
@ stub IoDeviceHandlerObjectType
@ extern IoDeviceObjectType
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 90a8bae..cd46f91 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1561,6 +1561,7 @@ PVOID WINAPI IoAllocateErrorLogEntry(PVOID,UCHAR);
PIRP WINAPI IoAllocateIrp(CCHAR,BOOLEAN);
PMDL WINAPI IoAllocateMdl(PVOID,ULONG,BOOLEAN,BOOLEAN,IRP*);
PIO_WORKITEM WINAPI IoAllocateWorkItem(PDEVICE_OBJECT);
+void WINAPI IoDetachDevice(PDEVICE_OBJECT);
PDEVICE_OBJECT WINAPI IoAttachDeviceToDeviceStack(PDEVICE_OBJECT,PDEVICE_OBJECT);
PIRP WINAPI IoBuildAsynchronousFsdRequest(ULONG,DEVICE_OBJECT*,void*,ULONG,LARGE_INTEGER*,IO_STATUS_BLOCK*);
PIRP WINAPI IoBuildDeviceIoControlRequest(ULONG,DEVICE_OBJECT*,PVOID,ULONG,PVOID,ULONG,BOOLEAN,PKEVENT,IO_STATUS_BLOCK*);
More information about the wine-cvs
mailing list