| 1341 | } |
| 1342 | |
| 1343 | VOID |
| 1344 | Ext2InitializeReparseData(IN PREPARSE_DATA_BUFFER RDB, USHORT PathBufferLength) |
| 1345 | { |
| 1346 | ASSERT(FIELD_OFFSET(REPARSE_DATA_BUFFER, SymbolicLinkReparseBuffer.SubstituteNameOffset) == |
| 1347 | REPARSE_DATA_BUFFER_HEADER_SIZE); |
| 1348 | RDB->ReparseTag = IO_REPARSE_TAG_SYMLINK; |
| 1349 | RDB->ReparseDataLength = FIELD_OFFSET(REPARSE_DATA_BUFFER, SymbolicLinkReparseBuffer.PathBuffer) - |
| 1350 | FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer.DataBuffer) + |
| 1351 | PathBufferLength * sizeof(WCHAR); |
| 1352 | RDB->Reserved = 0; |
| 1353 | RDB->SymbolicLinkReparseBuffer.SubstituteNameOffset = PathBufferLength; |
| 1354 | RDB->SymbolicLinkReparseBuffer.SubstituteNameLength = PathBufferLength; |
| 1355 | RDB->SymbolicLinkReparseBuffer.PrintNameOffset = 0; |
| 1356 | RDB->SymbolicLinkReparseBuffer.PrintNameLength = PathBufferLength; |
| 1357 | RDB->SymbolicLinkReparseBuffer.Flags = SYMLINK_FLAG_RELATIVE; |
| 1358 | RtlZeroMemory(&RDB->SymbolicLinkReparseBuffer.PathBuffer, PathBufferLength * 2); |
| 1359 | } |
| 1360 | |
| 1361 | NTSTATUS |
| 1362 | Ext2ReadSymlink ( |
no outgoing calls
no test coverage detected