23 #define BugCheckFileId (CDFS_BUG_CHECK_FSPDISP) 114 Irp->IoStatus.Information = 0;
120 switch (IrpContext->MajorFunction) {
124 CdCommonCreate( IrpContext,
Irp );
134 CdCommonRead( IrpContext,
Irp );
139 CdCommonQueryInfo( IrpContext,
Irp );
144 CdCommonSetInfo( IrpContext,
Irp );
149 CdCommonQueryVolInfo( IrpContext,
Irp );
154 CdCommonDirControl( IrpContext,
Irp );
159 CdCommonFsControl( IrpContext,
Irp );
174 CdCommonCleanup( IrpContext,
Irp );
180 CdCommonPnp( IrpContext,
Irp );
264 WorkQueueItem.List );
268 __analysis_assert(
IrpSp != 0 );
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
#define STATUS_INVALID_DEVICE_REQUEST
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
#define IRP_CONTEXT_FSP_FLAGS
#define _SEH2_GetExceptionInformation()
FORCEINLINE PLIST_ENTRY RemoveHeadList(_Inout_ PLIST_ENTRY ListHead)
#define IRP_MJ_QUERY_VOLUME_INFORMATION
#define IRP_MJ_DIRECTORY_CONTROL
VOID NTAPI CdFspDispatch(_In_ PVOID Context)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define KeAcquireSpinLock(sl, irql)
PDEVICE_OBJECT DeviceObject
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
IN PDEVICE_OBJECT DeviceObject
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
_In_ PIO_STACK_LOCATION IrpSp
__volatile LONG PostedRequestCount
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
#define KeReleaseSpinLock(sl, irql)
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
#define IRP_MJ_LOCK_CONTROL
struct tagContext Context
#define IRP_MJ_SET_INFORMATION
KSPIN_LOCK OverflowQueueSpinLock
#define IRP_MJ_QUERY_INFORMATION
#define _SEH2_EXCEPT(...)
#define _SEH2_GetExceptionCode()
base of all file and directory entries
#define IRP_MJ_DEVICE_CONTROL