23 #define Dbg (DEBUG_TRACE_DEVCTRL) 43 #pragma alloc_text(PAGE, FatCommonDeviceControl) 44 #pragma alloc_text(PAGE, FatFsdDeviceControl) 94 Status = FatCommonDeviceControl( IrpContext,
Irp );
126 FatCommonDeviceControl (
203 FatFlushAndCleanVolume( IrpContext,
265 (
Irp->AssociatedIrp.SystemBuffer !=
NULL)) {
274 #if defined (_WIN64) && defined(BUILD_WOW64_ENABLED) 275 if (IoIs32bitProcess(
Irp)) {
280 if (
IrpSp->
Parameters.DeviceIoControl.InputBufferLength >=
sizeof( SCSI_PASS_THROUGH32 )) {
282 Cdb = (
PCDB)((PSCSI_PASS_THROUGH32)(
Irp->AssociatedIrp.SystemBuffer))->Cdb;
286 if (
IrpSp->
Parameters.DeviceIoControl.InputBufferLength >=
sizeof( SCSI_PASS_THROUGH32_EX )) {
288 Cdb = (
PCDB)((PSCSI_PASS_THROUGH32_EX)(
Irp->AssociatedIrp.SystemBuffer))->Cdb;
309 #if defined (_WIN64) && defined(BUILD_WOW64_ENABLED)
_Function_class_(IRP_MJ_DEVICE_CONTROL)
#define FatReleaseVolume(IRPCONTEXT, VCB)
#define IRP_CONTEXT_FLAG_WAIT
#define FsRtlEnterFileSystem
BOOLEAN FatIsIrpTopLevel(IN PIRP Irp)
#define IOCTL_SCSI_PASS_THROUGH_DIRECT_EX
#define FsRtlExitFileSystem
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
#define FatCompleteRequest(IRPCONTEXT, IRP, STATUS)
#define STATUS_MORE_PROCESSING_REQUIRED
#define CCB_FLAG_SENT_FORMAT_UNIT
#define UNREFERENCED_PARAMETER(P)
#define STATUS_INVALID_PARAMETER
#define DebugTrace(INDENT, LEVEL, X, Y)
LONG NTAPI KeSetEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
NTSTATUS NTAPI KeWaitForSingleObject(IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL)
#define _In_reads_opt_(size)
IN PFCB IN PCCB IN TYPE_OF_OPEN IN BOOLEAN IN BOOLEAN TopLevel
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define IOCTL_SCSI_PASS_THROUGH_EX
FORCEINLINE VOID IoCopyCurrentIrpStackLocationToNext(_Inout_ PIRP Irp)
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define FatAcquireExclusiveVolume(IRPCONTEXT, VCB)
#define _SEH2_GetExceptionInformation()
PIRP_CONTEXT FatCreateIrpContext(IN PIRP Irp, IN BOOLEAN Wait)
IO_COMPLETION_ROUTINE FatDeviceControlCompletionRoutine
#define CCB_FLAG_COMPLETE_DISMOUNT
#define VCB_STATE_FLAG_LOCKED
_In_opt_ WDFREQUEST _In_ ULONG _In_ BOOLEAN _In_ PCDB Cdb
#define STATUS_ACCESS_DENIED
#define IOCTL_DISK_COPY_DATA
VOID NTAPI IoSetTopLevelIrp(IN PIRP Irp)
#define SCSIOP_FORMAT_UNIT
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
DRIVER_DISPATCH(nfs41_FsdDispatch)
#define IOCTL_SCSI_PASS_THROUGH
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
#define KeInitializeEvent(pEvt, foo, foo2)
#define IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES
#define IOCTL_SCSI_PASS_THROUGH_DIRECT
ULONG FatExceptionFilter(IN PIRP_CONTEXT IrpContext, IN PEXCEPTION_POINTERS ExceptionPointer)
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
#define IoSkipCurrentIrpStackLocation(Irp)
#define _SEH2_EXCEPT(...)
#define _SEH2_GetExceptionCode()
struct _NAMED_PIPE_CREATE_PARAMETERS * Parameters
#define SL_FORCE_DIRECT_WRITE
_Requires_lock_held_(_Global_critical_region_)
TYPE_OF_OPEN FatDecodeFileObject(_In_ PFILE_OBJECT FileObject, _Outptr_ PVCB *Vcb, _Outptr_ PFCB *FcbOrDcb, _Outptr_ PCCB *Ccb)
_In_ PIO_STACK_LOCATION IrpSp
#define IRP_MJ_DEVICE_CONTROL