How do I copy a Reparse Point in .Net?

-1

Since I have not found any command to manipulate (=copy) reparse points I am going to make a CLI app that does that.

So I ask the community: How do I read and write an NTFS reparse point (including the tag id) to disk?

I know I can use fsutil to query the reparse data but even in that case I still have no idea on how to create a new one ...

G:\>fsutil reparsepoint query "Z:\ddp1.txt"
Reparse Tag Value: 0x80000013
Tag Value: Microsoft

Reparse Data Length:  0x000001c0
Reparse Data:
0000:  03 01 c0 01 46 65 52 70  8b 1c 9a fc b8 01 00 00  ....FeRp........
0010:  00 00 09 00 0a 00 04 00  5c 00 00 00 0a 00 04 00  ........\.......
0020:  58 00 00 00 0c 00 10 00  60 00 00 00 0b 00 08 00  X.......`.......
0030:  70 00 00 00 06 00 08 00  78 00 00 00 05 00 04 00  p.......x.......
0040:  80 00 00 00 09 00 04 00  84 00 00 00 0d 00 7c 00  ..............|.
0050:  88 00 00 00 0d 00 b4 00  04 01 00 00 00 00 00 00  ................
0060:  01 00 00 00 fa 7b 1b 5d  3e b7 a0 42 95 cb 91 ce  .....{.]>..B....
0070:  19 21 cf b2 71 ba 65 58  88 6e d3 01 00 08 fe 55  .!..q.eX.n.....U
0080:  00 00 00 00 01 00 00 00  00 00 00 00 52 62 52 70  ............RbRp
0090:  58 45 eb e0 7c 00 00 00  00 00 08 00 0a 00 04 00  XE..|...........
00a0:  50 00 00 00 09 00 04 00  54 00 00 00 09 00 04 00  P.......T.......
00b0:  58 00 00 00 06 00 08 00  5c 00 00 00 06 00 08 00  X.......\.......
00c0:  64 00 00 00 0c 00 10 00  6c 00 00 00 00 00 00 00  d.......l.......
00d0:  00 00 00 00 00 00 00 00  00 00 00 00 01 00 00 00  ................
00e0:  0c 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
00f0:  2d b0 00 00 00 00 05 00  d3 a5 c9 12 0c 27 5a 2b  -............'Z+
0100:  71 98 d0 3b f7 17 5f 3b  44 64 52 70 b8 bc ad 20  q..;.._;DdRp...
0110:  b4 00 00 00 00 00 03 00  0a 00 04 00 28 00 00 00  ............(...
0120:  0e 00 08 00 2c 00 00 00  0d 00 80 00 34 00 00 00  ....,.......4...
0130:  01 00 00 00 2d b0 00 00  00 00 05 00 33 b0 00 00  ....-.......3...
0140:  00 00 05 00 00 da 72 04  00 00 02 00 01 00 00 00  ......r.........
0150:  08 00 10 00 88 89 0d 00  00 00 00 00 e1 3c 81 45  .............<.E
0160:  f8 32 bf 57 16 af 46 dc  dc 8e 4f 24 00 00 00 40  .2.W..F...O$...@
0170:  00 00 00 00 00 00 00 00  00 00 00 00 34 b0 00 00  ............4...
0180:  00 00 05 00 00 70 80 04  00 00 02 00 01 00 00 00  .....p..........
0190:  48 ff 0a 00 48 9b 04 00  00 00 00 00 1f 0c db ca  H...H...........
01a0:  15 9d d2 56 1b 72 33 87  37 d3 71 0a 00 08 fe 55  ...V.r3.7.q....U
01b0:  00 00 00 00 00 00 00 40  00 00 00 00 9c 46 2e f3  .......@.....F..

I can't seem to find anything on the web except for this but it seems targeted to junctions and not custom reparse points.

c#
.net
windows
vb.net
pinvoke
asked on Stack Overflow Dec 12, 2018 by beppe9000 • edited Dec 12, 2018 by beppe9000

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0