Implemented some verify functions.

svn path=/trunk/; revision=1466
This commit is contained in:
Eric Kohl 2000-12-10 19:15:45 +00:00
parent 6d9f357735
commit 4ac4987dd2
4 changed files with 41 additions and 35 deletions

View file

@ -150,12 +150,12 @@ typedef struct _KTHREAD
*/ */
/* Added by Phillip Susi for list of threads in a process */ /* Added by Phillip Susi for list of threads in a process */
LIST_ENTRY ProcessThreadListEntry; LIST_ENTRY ProcessThreadListEntry;
/* Provisionally added by David Welch */ /* Provisionally added by David Welch */
hal_thread_state Context; hal_thread_state Context;
/* Added by Phillip Susi for internal KeAddThreadTimeout() implementation */ /* Added by Phillip Susi for internal KeAddThreadTimeout() implementation */
KDPC TimerDpc; KDPC TimerDpc;
} __attribute__((packed)) KTHREAD, *PKTHREAD; } __attribute__((packed)) KTHREAD, *PKTHREAD;
// According to documentation the stack should have a commited [ 1 page ] and // According to documentation the stack should have a commited [ 1 page ] and
@ -193,14 +193,14 @@ typedef struct
struct _WIN32THREADDATA; struct _WIN32THREADDATA;
typedef struct _ETHREAD typedef struct _ETHREAD
{ {
KTHREAD Tcb; KTHREAD Tcb;
TIME CreateTime; TIME CreateTime;
TIME ExitTime; TIME ExitTime;
NTSTATUS ExitStatus; NTSTATUS ExitStatus;
LIST_ENTRY PostBlockList; LIST_ENTRY PostBlockList;
LIST_ENTRY TerminationPortList; LIST_ENTRY TerminationPortList;
KSPIN_LOCK ActiveTimerListLock; KSPIN_LOCK ActiveTimerListLock;
PVOID ActiveTimerListHead; PVOID ActiveTimerListHead;
CLIENT_ID Cid; CLIENT_ID Cid;
@ -210,6 +210,7 @@ typedef struct _ETHREAD
PPS_IMPERSONATION_INFO ImpersonationInfo; PPS_IMPERSONATION_INFO ImpersonationInfo;
LIST_ENTRY IrpList; LIST_ENTRY IrpList;
TOP_LEVEL_IRP TopLevelIrp; TOP_LEVEL_IRP TopLevelIrp;
PDEVICE_OBJECT DeviceToVerify;
ULONG ReadClusterSize; ULONG ReadClusterSize;
UCHAR ForwardClusterOnly; UCHAR ForwardClusterOnly;
UCHAR DisablePageFaultClustering; UCHAR DisablePageFaultClustering;
@ -218,7 +219,7 @@ typedef struct _ETHREAD
ACCESS_MASK GrantedAccess; ACCESS_MASK GrantedAccess;
struct _EPROCESS* ThreadsProcess; struct _EPROCESS* ThreadsProcess;
PKSTART_ROUTINE StartAddress; PKSTART_ROUTINE StartAddress;
LPTHREAD_START_ROUTINE Win32StartAddress; LPTHREAD_START_ROUTINE Win32StartAddress;
UCHAR LpcExitThreadCalled; UCHAR LpcExitThreadCalled;
UCHAR HardErrorsAreDisabled; UCHAR HardErrorsAreDisabled;
UCHAR LpcReceivedMsgIdValid; UCHAR LpcReceivedMsgIdValid;

View file

@ -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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -16,6 +16,7 @@
#include <internal/ob.h> #include <internal/ob.h>
#include <internal/ldr.h> #include <internal/ldr.h>
#include <internal/id.h> #include <internal/id.h>
#include <internal/ps.h>
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>
@ -449,14 +450,31 @@ IoQueryDeviceEnumInfo (
} }
VOID PDEVICE_OBJECT STDCALL
STDCALL IoGetDeviceToVerify (PETHREAD Thread)
IoSetDeviceToVerify ( /*
DWORD Unknown0, * FUNCTION: Returns a pointer to the device, representing a removable-media
DWORD Unknown1 * 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 */ /* EOF */

View file

@ -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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -19,12 +19,9 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
VOID STDCALL IoSetHardErrorOrVerifyDevice(PIRP Irp, PDEVICE_OBJECT DeviceObject) VOID STDCALL IoRaiseHardError(PIRP Irp,
{ PVPB Vpb,
UNIMPLEMENTED; PDEVICE_OBJECT RealDeviceObject)
}
VOID STDCALL IoRaiseHardError(PIRP Irp, PVPB Vpb, PDEVICE_OBJECT RealDeviceObject)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
@ -35,8 +32,8 @@ BOOLEAN IoIsTotalDeviceFailure(NTSTATUS Status)
} }
BOOLEAN STDCALL IoRaiseInformationalHardError(NTSTATUS ErrorStatus, BOOLEAN STDCALL IoRaiseInformationalHardError(NTSTATUS ErrorStatus,
PUNICODE_STRING String, PUNICODE_STRING String,
PKTHREAD Thread) PKTHREAD Thread)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }

View file

@ -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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -39,16 +39,6 @@
/* FUNCTIONS ****************************************************************/ /* 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 VOID STDCALL
IoFreeIrp (PIRP Irp) IoFreeIrp (PIRP Irp)