133 Irp->IoStatus.Information = 0;
143 Fcb->Name.MaximumLength,
150 Irp->IoStatus.Information = 0;
166 Irp->IoStatus.Information = 0;
173 Fcb->ReferenceCount = 0;
177 Fcb->MaxMessageSize =
Buffer->MaximumMessageSize;
178 Fcb->MessageCount = 0;
196 while (current_entry != &DeviceExtension->
FcbListHead)
205 current_entry = current_entry->
Flink;
208 if (current_entry != &DeviceExtension->
FcbListHead)
217 Irp->IoStatus.Information = 0;
233 Fcb->ReferenceCount++;
244 Irp->IoStatus.Information = 0;
IO_CSQ_ACQUIRE_LOCK MsfsAcquireLock
IN BOOLEAN OUT PSTR Buffer
IO_CSQ_COMPLETE_CANCELED_IRP MsfsCompleteCanceledIrp
#define InsertTailList(ListHead, Entry)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
struct _FCB::@713::@716 Fcb
_In_ PDEVICE_OBJECT DeviceObject
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT FileObject
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
#define IoCompleteRequest
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)
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
struct _LIST_ENTRY * Flink
IO_CSQ_RELEASE_LOCK MsfsReleaseLock
#define KeAcquireSpinLock(sl, irql)
#define STATUS_UNSUCCESSFUL
#define ExAllocatePoolWithTag(hernya, size, tag)
ULONG RtlCompareUnicodeString(PUNICODE_STRING s1, PUNICODE_STRING s2, BOOLEAN UpCase)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
IO_CSQ_INSERT_IRP MsfsInsertIrp
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
IO_CSQ_PEEK_NEXT_IRP MsfsPeekNextIrp
#define InitializeListHead(ListHead)
#define KeReleaseSpinLock(sl, irql)
IO_CSQ_REMOVE_IRP MsfsRemoveIrp
NTKERNELAPI NTSTATUS NTAPI IoCsqInitialize(_Out_ PIO_CSQ Csq, _In_ PIO_CSQ_INSERT_IRP CsqInsertIrp, _In_ PIO_CSQ_REMOVE_IRP CsqRemoveIrp, _In_ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp, _In_ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock, _In_ PIO_CSQ_RELEASE_LOCK CsqReleaseLock, _In_ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp)
Set up a CSQ struct to initialize the queue.
#define ExFreePoolWithTag(_P, _T)
struct _NAMED_PIPE_CREATE_PARAMETERS * Parameters
struct task_struct * current