21 #define UDF_BUG_CHECK_ID UDF_FILE_PNP 111 Irp->IoStatus.Status = RC;
112 Irp->IoStatus.Information = 0;
167 Irp->IoStatus.Information = 0;
198 UDFPrint((
"UDFCommonPnp: pass through\n"));
261 #ifdef UDF_DELAYED_CLOSE 263 #endif //UDF_DELAYED_CLOSE 304 RC =
Irp->IoStatus.Status;
343 if (!VcbDeleted && VcbAcquired) {
352 Irp->IoStatus.Status = RC;
407 #ifdef UDF_DELAYED_CLOSE 409 #endif //UDF_DELAYED_CLOSE 417 (
Vcb->VolumeLockPID != (
ULONG)-1) ) {
420 Vcb->VolumeLockFileObject =
NULL;
421 Vcb->VolumeLockPID = -1;
451 RC =
Irp->IoStatus.Status;
482 if (!VcbDeleted && VcbAcquired) {
491 Irp->IoStatus.Status = RC;
551 #ifdef UDF_DELAYED_CLOSE 553 #endif //UDF_DELAYED_CLOSE 584 RC =
Irp->IoStatus.Status;
616 if (!VcbDeleted && VcbAcquired) {
625 Irp->IoStatus.Status = RC;
#define UDFAcquireResourceExclusive(Resource, CanWait)
VOID UDFReleaseIrpContext(PtrUDFIrpContext PtrIrpContext)
PtrUDFIrpContext UDFAllocateIrpContext(PIRP Irp, PDEVICE_OBJECT PtrTargetDeviceObject)
#define IRP_MN_REMOVE_DEVICE
#define STATUS_INSUFFICIENT_RESOURCES
#define UDFCloseAllSystemDelayedInDir(Vcb, FI)
#define FsRtlEnterFileSystem
BOOLEAN UDFCheckForDismount(IN PtrUDFIrpContext IrpContext, IN PVCB Vcb, IN BOOLEAN VcbAcquired)
#define FsRtlExitFileSystem
#define STATUS_MORE_PROCESSING_REQUIRED
NTSTATUS UDFPnpCancelRemove(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PVCB Vcb)
VOID UDFLogEvent(NTSTATUS UDFEventLogId, NTSTATUS RC)
#define UNREFERENCED_PARAMETER(P)
#define STATUS_INVALID_PARAMETER
#define UDF_NODE_TYPE_VCB
#define UDFReleaseResource(Resource)
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 UDF_IRP_CONTEXT_CAN_BLOCK
struct _PREVENT_MEDIA_REMOVAL_USER_IN * PPREVENT_MEDIA_REMOVAL_USER_IN
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define UDF_VCB_FLAGS_RAW_DISK
FORCEINLINE VOID IoCopyCurrentIrpStackLocationToNext(_Inout_ PIRP Irp)
NTSTATUS UDFPnpSurpriseRemove(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PVCB Vcb)
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS NTAPI UDFPnpCompletionRoutine(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Contxt)
#define IO_DISK_INCREMENT
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define IRP_MN_QUERY_REMOVE_DEVICE
VOID UDFStopEjectWaiter(PVCB Vcb)
_In_ PVOID _In_ ULONG Event
#define _SEH2_GetExceptionInformation()
#define _SEH2_AbnormalTermination()
#define IoCompleteRequest
NTSTATUS UDFExceptionHandler(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
#define IRP_MN_SURPRISE_REMOVAL
#define NT_SUCCESS(StatCode)
PDEVICE_OBJECT DeviceObject
NTSTATUS UDFPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
BOOLEAN __fastcall UDFIsIrpTopLevel(PIRP Irp)
#define UDF_VCB_FLAGS_VOLUME_MOUNTED
VOID NTAPI IoSetTopLevelIrp(IN PIRP Irp)
long UDFExceptionFilter(PtrUDFIrpContext PtrIrpContext, PEXCEPTION_POINTERS PtrExceptionPointers)
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
#define UDF_ERROR_INTERNAL_ERROR
#define KeInitializeEvent(pEvt, foo, foo2)
#define IRP_INPUT_OPERATION
_In_ PIO_STACK_LOCATION IrpSp
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
#define IoSkipCurrentIrpStackLocation(Irp)
NTSTATUS UDFPnpQueryRemove(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PVCB Vcb)
NTSTATUS UDFPnpRemove(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PVCB Vcb)
VOID UDFCloseAllDelayed(IN PVCB Vcb)
#define _SEH2_EXCEPT(...)
NTSTATUS UDFCommonPnp(PtrUDFIrpContext PtrIrpContext, IN PIRP Irp)
OSSTATUS UDFDoDismountSequence(IN PVCB Vcb, IN PPREVENT_MEDIA_REMOVAL_USER_IN Buf, IN BOOLEAN Eject)
#define UDF_VCB_FLAGS_VOLUME_LOCKED