14#define NPFS_BUGCHECK_FILE_ID (NPFS_BUGCHECK_FSCTRL)
82 QueryBuffer =
Irp->AssociatedIrp.SystemBuffer;
88 ClientSession =
Ccb->ClientSession;
89 if (ClientSession !=
NULL)
108 if (ClientSession !=
NULL)
124 QueryBuffer->
Buffer[0] = 0;
192 OldClientSession =
Ccb->ClientSession;
193 Ccb->ClientSession = ClientSession;
202 if (OldClientSession !=
NULL)
372 PeekBuffer =
Irp->AssociatedIrp.SystemBuffer;
436 BytesPeeked +=
IoStatus.Information;
444 Irp->IoStatus.Information = BytesPeeked;
456 if (
Irp->AssociatedIrp.SystemBuffer)
510 NonPagedCcb =
Ccb->NonPagedCcb;
534 EventBuffer = NonPagedCcb->
EventBuffer[NamedPipeEnd];
557 Irp->Tail.Overlay.Thread,
604 NewIrp->Tail.Overlay.Thread =
Irp->Tail.Overlay.Thread;
658 ULONG InLength, NameLength;
691 NameLength =
Buffer->NameLength;
720 NodeTypeCode =
Fcb ?
Fcb->NodeType : 0;
727 for (NextEntry =
Fcb->CcbList.Flink;
728 NextEntry != &
Fcb->CcbList;
729 NextEntry = NextEntry->
Flink)
735 if (NextEntry != &
Fcb->CcbList)
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define OBJ_NAME_PATH_SEPARATOR
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
#define STATUS_NOT_SUPPORTED
#define STATUS_NOT_IMPLEMENTED
NTSTATUS NTAPI NpAddDataQueueEntry(IN ULONG NamedPipeEnd, IN PNP_CCB Ccb, IN PNP_DATA_QUEUE DataQueue, IN ULONG Who, IN ULONG Type, IN ULONG DataSize, IN PIRP Irp, IN PVOID Buffer, IN ULONG ByteOffset)
#define NT_SUCCESS(StatCode)
FORCEINLINE VOID NpAcquireExclusiveVcb(VOID)
FORCEINLINE VOID NpReleaseVcb(VOID)
IO_STATUS_BLOCK NTAPI NpReadDataQueue(IN PNP_DATA_QUEUE DataQueue, IN BOOLEAN Peek, IN BOOLEAN ReadOverflowOperation, IN PVOID Buffer, IN ULONG BufferSize, IN ULONG Mode, IN PNP_CCB Ccb, IN PLIST_ENTRY List)
#define NPFS_NTC_ROOT_DCB
NTSTATUS NTAPI NpSetDisconnectedPipeState(IN PNP_CCB Ccb, IN PLIST_ENTRY List)
struct _NP_CLIENT_PROCESS NP_CLIENT_PROCESS
FORCEINLINE VOID NpAcquireSharedVcb(VOID)
#define NpBugCheck(p1, p2, p3)
FORCEINLINE VOID NpCompleteDeferredIrps(IN PLIST_ENTRY DeferredList)
NTSTATUS NTAPI NpAddWaiter(IN PNP_WAIT_QUEUE WaitQueue, IN LARGE_INTEGER WaitTime, IN PIRP Irp, IN PUNICODE_STRING AliasName)
PNP_FCB NTAPI NpFindPrefix(IN PUNICODE_STRING Name, IN ULONG CaseInsensitiveIndex, IN PUNICODE_STRING Prefix)
#define NPFS_WRITE_BLOCK_TAG
NTSTATUS NTAPI NpSetListeningPipeState(IN PNP_CCB Ccb, IN PIRP Irp, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpWriteDataQueue(IN PNP_DATA_QUEUE WriteQueue, IN ULONG Mode, IN PVOID OutBuffer, IN ULONG OutBufferSize, IN ULONG PipeType, OUT PULONG BytesWritten, IN PNP_CCB Ccb, IN ULONG NamedPipeEnd, IN PETHREAD Thread, IN PLIST_ENTRY List)
VOID NTAPI NpUninitializeSecurity(IN PNP_CCB Ccb)
NTSTATUS NTAPI NpImpersonateClientContext(IN PNP_CCB Ccb)
#define InsertTailList(ListHead, Entry)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeSetEvent(pEvt, foo, foo2)
#define ExAcquireResourceExclusiveLite(res, wait)
#define InitializeListHead(ListHead)
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
NODE_TYPE_CODE NTAPI NpDecodeFileObject(IN PFILE_OBJECT FileObject, OUT PVOID *PrimaryContext OPTIONAL, OUT PNP_CCB *Ccb, OUT PULONG NamedPipeEnd OPTIONAL)
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
#define FILE_PIPE_LISTENING_STATE
#define FILE_PIPE_CONNECTED_STATE
#define FILE_PIPE_CLOSING_STATE
#define EXCEPTION_EXECUTE_HANDLER
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define ExFreePoolWithTag(_P, _T)
#define FSCTL_PIPE_LISTEN
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
#define FILE_PIPE_FULL_DUPLEX
#define FILE_PIPE_OUTBOUND
#define FILE_PIPE_MESSAGE_TYPE
#define FILE_PIPE_INBOUND
#define FILE_PIPE_CLIENT_END
#define FILE_PIPE_SERVER_END
#define FILE_PIPE_MESSAGE_MODE
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
NTSTATUS NTAPI NpImpersonate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpWaitForNamedPipe(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
IO_STATUS_BLOCK NpUserIoStatusBlock
NTSTATUS NTAPI NpInternalWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpSetClientProcess(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpDisconnect(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpQueryClientProcess(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpCompleteTransceiveIrp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS NTAPI NpFsdFileSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpListen(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpCommonFileSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpQueryEvent(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpInternalRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN BOOLEAN Overflow, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpTransceive(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpInternalTransceive(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PLIST_ENTRY List)
NTSTATUS NTAPI NpAssignEvent(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI NpPeek(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PLIST_ENTRY List)
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
#define IoCompleteRequest
PIRP NTAPI IoAllocateIrp(IN CCHAR StackSize, IN BOOLEAN ChargeQuota)
VOID NTAPI IoFreeIrp(IN PIRP Irp)
#define STATUS_PIPE_DISCONNECTED
#define STATUS_INVALID_PIPE_STATE
#define STATUS_PIPE_BROKEN
#define STATUS_ILLEGAL_FUNCTION
#define FSCTL_PIPE_IMPERSONATE
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
struct _FILE_PIPE_WAIT_FOR_BUFFER * PFILE_PIPE_WAIT_FOR_BUFFER
#define FSCTL_PIPE_SET_CLIENT_PROCESS
#define FSCTL_PIPE_ASSIGN_EVENT
#define FSCTL_PIPE_INTERNAL_READ_OVFLOW
#define FSCTL_PIPE_TRANSCEIVE
#define FSCTL_PIPE_QUERY_EVENT
#define FSCTL_PIPE_DISCONNECT
#define FSCTL_PIPE_INTERNAL_TRANSCEIVE
#define FSCTL_PIPE_INTERNAL_WRITE
#define FSCTL_PIPE_QUERY_CLIENT_PROCESS
#define FSCTL_PIPE_INTERNAL_READ
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
#define STATUS_MORE_PROCESSING_REQUIRED
#define STATUS_BUFFER_OVERFLOW
struct _FCB::@729::@732 Fcb
union _IO_STACK_LOCATION::@1579 Parameters
struct _IO_STACK_LOCATION::@3978::@3983 Write
struct _IO_STACK_LOCATION::@3978::@3987 QueryFile
struct _IO_STACK_LOCATION::@3978::@3993 FileSystemControl
union _IRP::@1581 AssociatedIrp
struct _LIST_ENTRY * Flink
PNP_EVENT_BUFFER EventBuffer[2]
#define FIELD_OFFSET(t, f)
#define RtlCopyMemory(Destination, Source, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_ACCESS_DENIED
#define STATUS_INVALID_PARAMETER
#define STATUS_INSUFFICIENT_RESOURCES
#define STATUS_OBJECT_NAME_NOT_FOUND
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_Must_inspect_result_ _In_ WDFCMRESLIST List
#define ExAllocatePoolWithQuotaTag(a, b, c)
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
FORCEINLINE VOID IoSetNextIrpStackLocation(_Inout_ PIRP Irp)
#define IRP_DEALLOCATE_BUFFER
#define IO_NAMED_PIPE_INCREMENT
#define POOL_QUOTA_FAIL_INSTEAD_OF_RAISE
#define IRP_MN_KERNEL_CALL
_In_ __drv_aliasesMem PSTRING Prefix