22{
37
39
44
45 DPRINT(
"MailslotName: %wZ\n", &
Fcb->Name);
46
47
49 {
51 Irp->IoStatus.Information = 0;
52
54
56 }
57
61 else
63
64
66 if (
Fcb->MessageCount > 0)
67 {
71
72
76
78
80 Irp->IoStatus.Information = LengthRead;
82
84 }
85 else
86 {
88 }
89
92 {
94 Irp->IoStatus.Information = 0;
96
98 }
99
102 {
104 Irp->IoStatus.Information = 0;
106
108 }
109
116
117
119 {
123 }
124
126
128}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
NTKERNELAPI VOID NTAPI IoCsqInsertIrp(_Inout_ PIO_CSQ Csq, _Inout_ PIRP Irp, _Out_opt_ PIO_CSQ_IRP_CONTEXT Context)
Insert an IRP into the CSQ.
static const WCHAR Message[]
VOID NTAPI KeInitializeDpc(IN PKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeReleaseSpinLock(sl, irql)
#define KeAcquireSpinLock(sl, irql)
#define RemoveHeadList(ListHead)
#define memcpy(s1, s2, n)
#define ExFreePoolWithTag(_P, _T)
KDEFERRED_ROUTINE MsfsTimeout
struct _MSFS_FCB * PMSFS_FCB
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define IoCompleteRequest
base of all file and directory entries
struct _IO_STACK_LOCATION::@3974::@3978 Read
union _IO_STACK_LOCATION::@1575 Parameters
BOOLEAN NTAPI KeSetTimer(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN PKDPC Dpc OPTIONAL)
VOID NTAPI KeInitializeTimer(OUT PKTIMER Timer)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_ACCESS_DENIED
#define STATUS_IO_TIMEOUT
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
#define MmGetSystemAddressForMdlSafe(_Mdl, _Priority)