23 #define ExpChangePushlock(x, y, z) InterlockedCompareExchangePointer((PVOID*)x, (PVOID)y, (PVOID)z) 28 #define EX_PUSH_LOCK_LOCK_V ((ULONG_PTR)0x0) 29 #define EX_PUSH_LOCK_LOCK ((ULONG_PTR)0x1) 30 #define EX_PUSH_LOCK_WAITING ((ULONG_PTR)0x2) 31 #define EX_PUSH_LOCK_WAKING ((ULONG_PTR)0x4) 32 #define EX_PUSH_LOCK_MULTIPLE_SHARED ((ULONG_PTR)0x8) 33 #define EX_PUSH_LOCK_SHARE_INC ((ULONG_PTR)0x10) 34 #define EX_PUSH_LOCK_PTR_BITS ((ULONG_PTR)0xf) 190 return FltCreateFileEx(
Filter,
277 sizeof(LocalNameInfo),
313 if (ObjectNameInfo != &LocalNameInfo)
#define STATUS_FLT_DELETING_OBJECT
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
#define _Must_inspect_result_
_Releases_lock_(_Global_critical_region_)
#define STATUS_INSUFFICIENT_RESOURCES
#define STATUS_INFO_LENGTH_MISMATCH
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtection(_Inout_ PEX_RUNDOWN_REF RunRef)
#define STATUS_INVALID_PARAMETER
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
long __cdecl _InterlockedExchange(_Interlocked_operand_ long volatile *_Target, long _Value)
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_opt_ PVOID EaBuffer
#define ExAcquireRundownProtection
NTSTATUS NTAPI ObQueryNameString(IN PVOID Object, OUT POBJECT_NAME_INFORMATION ObjectNameInfo, IN ULONG Length, OUT PULONG ReturnLength)
NTSTATUS NTAPI FltpObjectRundownWait(_Inout_ PEX_RUNDOWN_REF RundownRef)
_Acquires_lock_(_Global_critical_region_)
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
NTKERNELAPI VOID FASTCALL ExInitializeRundownProtection(_Out_ PEX_RUNDOWN_REF RunRef)
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT ShareAccess
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
PDEVICE_OBJECT NTAPI IoGetDeviceAttachmentBaseRef(IN PDEVICE_OBJECT DeviceObject)
_In_ PDEVICE_OBJECT DeviceObject
return STATUS_NOT_IMPLEMENTED
NTSTATUS FltpGetBaseDeviceObjectName(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PUNICODE_STRING ObjectName)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define FM_TAG_UNICODE_STRING
#define InterlockedIncrementSizeT(a)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
VOID FltpExInitializeRundownProtection(_Out_ PEX_RUNDOWN_REF RundownRef)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
BOOLEAN FltpExAcquireRundownProtection(_Inout_ PEX_RUNDOWN_REF RundownRef)
#define InterlockedBitTestAndSet
NTSTATUS FltpReallocateUnicodeString(_In_ PUNICODE_STRING String, _In_ SIZE_T NewLength, _In_ BOOLEAN CopyExisting)
#define _Requires_lock_not_held_(a)
BOOLEAN FltpExReleaseRundownProtection(_Inout_ PEX_RUNDOWN_REF RundownRef)
#define EX_PUSH_LOCK_LOCK
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
_Must_inspect_result_ _In_ ULONG Flags
IN PVCB IN PDIRENT OUT PULONG EaLength
#define NT_SUCCESS(StatCode)
#define ObDereferenceObject
VOID FASTCALL ExfReleasePushLock(PEX_PUSH_LOCK PushLock)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define ExpChangePushlock(x, y, z)
_IRQL_requires_max_(PASSIVE_LEVEL)
VOID FASTCALL ExfAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
#define KeEnterCriticalRegion()
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
VOID FltpObjectPointerDereference(_In_ PFLT_OBJECT Object)
VOID FASTCALL ExfAcquirePushLockShared(PEX_PUSH_LOCK PushLock)
#define KeLeaveCriticalRegion()
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
static OUT PIO_STATUS_BLOCK IoStatusBlock
#define EX_PUSH_LOCK_LOCK_V
#define _In_reads_bytes_opt_(s)
#define InterlockedDecrementSizeT(a)
#define ExFreePoolWithTag(_P, _T)
#define EX_PUSH_LOCK_SHARE_INC
#define _Requires_lock_held_(a)
BOOLEAN FltpExRundownCompleted(_Inout_ PEX_RUNDOWN_REF RundownRef)
NTSTATUS FltpGetObjectName(_In_ PVOID Object, _Inout_ PUNICODE_STRING ObjectName)