I also had a very tough time getting it to work the first time.
The most basic thing you can do is go to the memory address of ReadResult.Contents and read from there.
The first two bytes should be always be 'B' and 'M'.

Can you read this (and possibly more) data from ReadResult.Contents' memory?

the first number you read is 2624998722 in hex that is, 9c 76 4d 42 that is much larger than the 2 bytes you should have been reading. The lowest significant bytes (those come first in little endian) are 42 and 4d which matches with the BM that is expected.

I'm not sure if you correctly understood what ratchetfreak tried to tell you.

The pack is not an issue. The issue is data type. FileType should be 16-bit number. But debugger shows that you have declared it as 64-bit integer. If you are reading data for structure as a one read, or doing memcpy to sizeof member - this will read wrong data. You need to read just 2 bytes for FileType.

What do you mean by "show in VS a portion of memory"? VS debugger has memory view - Alt+6. There you can write any address, or arbitrary expression involving variables (like &Header->FileType) and it will show contents of raw memory.