diff --git a/reactos/ntoskrnl/include/internal/ps.h b/reactos/ntoskrnl/include/internal/ps.h index 12907ebbcbd..cfd478bb64f 100644 --- a/reactos/ntoskrnl/include/internal/ps.h +++ b/reactos/ntoskrnl/include/internal/ps.h @@ -150,12 +150,12 @@ typedef struct _KTHREAD */ /* Added by Phillip Susi for list of threads in a process */ - LIST_ENTRY ProcessThreadListEntry; + LIST_ENTRY ProcessThreadListEntry; /* Provisionally added by David Welch */ hal_thread_state Context; /* Added by Phillip Susi for internal KeAddThreadTimeout() implementation */ - KDPC TimerDpc; + KDPC TimerDpc; } __attribute__((packed)) KTHREAD, *PKTHREAD; // According to documentation the stack should have a commited [ 1 page ] and @@ -193,14 +193,14 @@ typedef struct struct _WIN32THREADDATA; -typedef struct _ETHREAD +typedef struct _ETHREAD { KTHREAD Tcb; - TIME CreateTime; - TIME ExitTime; + TIME CreateTime; + TIME ExitTime; NTSTATUS ExitStatus; LIST_ENTRY PostBlockList; - LIST_ENTRY TerminationPortList; + LIST_ENTRY TerminationPortList; KSPIN_LOCK ActiveTimerListLock; PVOID ActiveTimerListHead; CLIENT_ID Cid; @@ -210,6 +210,7 @@ typedef struct _ETHREAD PPS_IMPERSONATION_INFO ImpersonationInfo; LIST_ENTRY IrpList; TOP_LEVEL_IRP TopLevelIrp; + PDEVICE_OBJECT DeviceToVerify; ULONG ReadClusterSize; UCHAR ForwardClusterOnly; UCHAR DisablePageFaultClustering; @@ -218,7 +219,7 @@ typedef struct _ETHREAD ACCESS_MASK GrantedAccess; struct _EPROCESS* ThreadsProcess; PKSTART_ROUTINE StartAddress; - LPTHREAD_START_ROUTINE Win32StartAddress; + LPTHREAD_START_ROUTINE Win32StartAddress; UCHAR LpcExitThreadCalled; UCHAR HardErrorsAreDisabled; UCHAR LpcReceivedMsgIdValid; diff --git a/reactos/ntoskrnl/io/device.c b/reactos/ntoskrnl/io/device.c index 06e2930b42d..55f4a1923a1 100644 --- a/reactos/ntoskrnl/io/device.c +++ b/reactos/ntoskrnl/io/device.c @@ -1,4 +1,4 @@ -/* $Id: device.c,v 1.23 2000/10/22 16:36:50 ekohl Exp $ +/* $Id: device.c,v 1.24 2000/12/10 19:15:45 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -16,6 +16,7 @@ #include #include #include +#include #define NDEBUG #include @@ -449,14 +450,31 @@ IoQueryDeviceEnumInfo ( } -VOID -STDCALL -IoSetDeviceToVerify ( - DWORD Unknown0, - DWORD Unknown1 - ) +PDEVICE_OBJECT STDCALL +IoGetDeviceToVerify (PETHREAD Thread) +/* + * FUNCTION: Returns a pointer to the device, representing a removable-media + * device, that is the target of the given thread's I/O request + */ { - UNIMPLEMENTED; + return Thread->DeviceToVerify; } + +VOID STDCALL +IoSetDeviceToVerify (IN PETHREAD Thread, + IN PDEVICE_OBJECT DeviceObject) +{ + Thread->DeviceToVerify = DeviceObject; +} + + +VOID STDCALL +IoSetHardErrorOrVerifyDevice(PIRP Irp, + PDEVICE_OBJECT DeviceObject) +{ + Irp->Tail.Overlay.Thread->DeviceToVerify = DeviceObject; +} + + /* EOF */ diff --git a/reactos/ntoskrnl/io/error.c b/reactos/ntoskrnl/io/error.c index b42173d4926..6e3303e8862 100644 --- a/reactos/ntoskrnl/io/error.c +++ b/reactos/ntoskrnl/io/error.c @@ -1,4 +1,4 @@ -/* $Id: error.c,v 1.4 2000/07/04 08:52:38 dwelch Exp $ +/* $Id: error.c,v 1.5 2000/12/10 19:15:45 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -19,12 +19,9 @@ /* FUNCTIONS *****************************************************************/ -VOID STDCALL IoSetHardErrorOrVerifyDevice(PIRP Irp, PDEVICE_OBJECT DeviceObject) -{ - UNIMPLEMENTED; -} - -VOID STDCALL IoRaiseHardError(PIRP Irp, PVPB Vpb, PDEVICE_OBJECT RealDeviceObject) +VOID STDCALL IoRaiseHardError(PIRP Irp, + PVPB Vpb, + PDEVICE_OBJECT RealDeviceObject) { UNIMPLEMENTED; } @@ -35,8 +32,8 @@ BOOLEAN IoIsTotalDeviceFailure(NTSTATUS Status) } BOOLEAN STDCALL IoRaiseInformationalHardError(NTSTATUS ErrorStatus, - PUNICODE_STRING String, - PKTHREAD Thread) + PUNICODE_STRING String, + PKTHREAD Thread) { UNIMPLEMENTED; } diff --git a/reactos/ntoskrnl/io/irp.c b/reactos/ntoskrnl/io/irp.c index 2fadb346220..d9bd4a64ce7 100644 --- a/reactos/ntoskrnl/io/irp.c +++ b/reactos/ntoskrnl/io/irp.c @@ -1,4 +1,4 @@ -/* $Id: irp.c,v 1.31 2000/10/22 16:36:50 ekohl Exp $ +/* $Id: irp.c,v 1.32 2000/12/10 19:15:45 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -39,16 +39,6 @@ /* FUNCTIONS ****************************************************************/ -PDEVICE_OBJECT STDCALL -IoGetDeviceToVerify (PETHREAD Thread) -/* - * FUNCTION: Returns a pointer to the device, representing a removable-media - * device, that is the target of the given thread's I/O request - */ -{ - UNIMPLEMENTED; -} - VOID STDCALL IoFreeIrp (PIRP Irp)