68{
72
74
75 DPRINT(
"IRP %x/%x\n", IoStack->MajorFunction, IoStack->MinorFunction);
78
80 Irp->IoStatus.Information = 0;
81
83 {
86
87 if (IoStack->FileObject->FileName.Length >= 2 *
sizeof(
WCHAR))
88 {
91 }
92 if (IoStack->FileObject->FileName.Length >= 2 *
sizeof(
WCHAR) &&
93 IoStack->FileObject->FileName.Buffer[1] == 'M')
94 {
96
99
101 {
103 goto Finish;
104 }
105
113 }
114 else if (IoStack->FileObject->FileName.Length >= 2 *
sizeof(
WCHAR) &&
115 IoStack->FileObject->FileName.Buffer[1] == 'S')
116 {
118
120 {
122 goto Finish;
123 }
124
127
129 {
131 goto Finish;
132 }
133
141 }
142 else
143 {
145
147 {
149 goto Finish;
150 }
151
153 FsRtlSetupAdvancedHeader(&
Fcb->
Header, &
Fcb->HeaderMutex);
156 Fcb->
Header.ValidDataLength.QuadPart = 0;
157 IoStack->FileObject->FsContext =
Fcb;
159
162 }
163 }
165 {
171 IoStack->FileObject->FsContext =
NULL;
173 }
174
175Finish:
178
180}
static PDEVICE_OBJECT TestDeviceObject
static PFILE_OBJECT TestFileObject
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define FILE_OPEN_REPARSE_POINT
BOOLEAN NTAPI CcUninitializeCacheMap(IN PFILE_OBJECT FileObject, IN OPTIONAL PLARGE_INTEGER TruncateSize, IN OPTIONAL PCACHE_UNINITIALIZE_EVENT UninitializeEvent)
#define ExFreePoolWithTag(_P, _T)
FORCEINLINE PVOID ExAllocatePoolZero(ULONG PoolType, SIZE_T NumberOfBytes, ULONG Tag)
#define IoCompleteRequest
#define STATUS_NOT_SUPPORTED
#define STATUS_STOPPED_ON_SYMLINK
struct _REPARSE_DATA_BUFFER * PREPARSE_DATA_BUFFER
SECTION_OBJECT_POINTERS SectionObjectPointers
FSRTL_ADVANCED_FCB_HEADER Header
struct _REPARSE_DATA_BUFFER::@312::@314 SymbolicLinkReparseBuffer
struct _REPARSE_DATA_BUFFER::@312::@315 MountPointReparseBuffer
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PDEVICE_OBJECT DeviceObject
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE
#define SL_STOP_ON_SYMLINK
#define IO_REPARSE_TAG_SYMLINK
#define IO_REPARSE_TAG_MOUNT_POINT