45 if ((IrpContext->Identifier.Type !=
RFSDICX) ||
54 (
ULONG_PTR)ExceptionPointer->ContextRecord,
79 IrpContext->ExceptionInProgress =
TRUE;
108 if ( (IrpContext->Identifier.Type !=
RFSDICX) ||
114 Status = IrpContext->ExceptionCode;
116 if (IrpContext->Irp) {
146 if (RealDevice ==
NULL) {
157 if (RealDevice !=
NULL) {
173 IrpContext->Irp->IoStatus.Status =
Status;
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
BOOLEAN NTAPI FsRtlIsNtstatusExpected(IN NTSTATUS NtStatus)
#define IRP_CONTEXT_FLAG_WAIT
#define STATUS_INSUFFICIENT_RESOURCES
#define PsGetCurrentThread()
#define IoIsErrorUserInduced(Status)
VOID RfsdFreeIrpContext(IN PRFSD_IRP_CONTEXT IrpContext)
PDEVICE_OBJECT NTAPI IoGetDeviceToVerify(IN PETHREAD Thread)
#define EXCEPTION_CONTINUE_SEARCH
#define EXCEPTION_EXECUTE_HANDLER
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
#define STATUS_UNSUCCESSFUL
struct _EXCEPTION_RECORD * ExceptionRecord
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
#define RfsdBugCheck(A, B, C, D)
NTSTATUS RfsdExceptionFilter(IN PRFSD_IRP_CONTEXT IrpContext, IN PEXCEPTION_POINTERS ExceptionPointer)
VOID NTAPI IoRaiseHardError(IN PIRP Irp, IN PVPB Vpb, IN PDEVICE_OBJECT RealDeviceObject)
#define RFSD_BUGCHK_EXCEPT
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
VOID NTAPI IoSetDeviceToVerify(IN PETHREAD Thread, IN PDEVICE_OBJECT DeviceObject)
#define RfsdCompleteRequest(Irp, bPrint, PriorityBoost)
NTSTATUS RfsdExceptionHandler(IN PRFSD_IRP_CONTEXT IrpContext)