16 if (
Guid->Data1 == 0 &&
Guid->Data2 == 0 &&
Guid->Data3 == 0 &&
29 return ((Digit & 1) != 1);
46 ReparseTag = ReparseBuffer->ReparseTag;
77 if (!ReparseBuffer->MountPointReparseBuffer.SubstituteNameOffset)
80 if (ReparseBuffer->MountPointReparseBuffer.PrintNameOffset == ReparseBuffer->MountPointReparseBuffer.SubstituteNameLength +
sizeof(
UNICODE_NULL))
93#define FIELDS_SIZE (FIELD_OFFSET(REPARSE_DATA_BUFFER, SymbolicLinkReparseBuffer.PathBuffer) - FIELD_OFFSET(REPARSE_DATA_BUFFER, SymbolicLinkReparseBuffer.SubstituteNameOffset))
105 if (ReparseBuffer->SymbolicLinkReparseBuffer.SubstituteNameLength && ReparseBuffer->SymbolicLinkReparseBuffer.PrintNameLength)
108 if (
IsEven(ReparseBuffer->SymbolicLinkReparseBuffer.SubstituteNameLength) &&
IsEven(ReparseBuffer->SymbolicLinkReparseBuffer.PrintNameLength) &&
109 IsEven(ReparseBuffer->SymbolicLinkReparseBuffer.SubstituteNameOffset) &&
IsEven(ReparseBuffer->SymbolicLinkReparseBuffer.PrintNameOffset))
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
NTSTATUS __stdcall compat_FsRtlValidateReparsePointBuffer(IN ULONG BufferLength, IN PREPARSE_DATA_BUFFER ReparseBuffer)
FORCEINLINE BOOLEAN IsNullGuid(IN PGUID Guid)
#define REPARSE_DATA_BUFFER_HEADER_SIZE
#define STATUS_IO_REPARSE_TAG_INVALID
#define STATUS_IO_REPARSE_DATA_INVALID
USHORT SubstituteNameOffset
#define FIELD_OFFSET(t, f)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
#define IO_REPARSE_TAG_RESERVED_ONE
struct _REPARSE_GUID_DATA_BUFFER * PREPARSE_GUID_DATA_BUFFER
#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE
#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE
#define IO_REPARSE_TAG_SYMLINK
#define IO_REPARSE_TAG_MOUNT_POINT
#define IO_REPARSE_TAG_RESERVED_ZERO
#define IsReparseTagMicrosoft(_tag)