I think the previous definition of the IMAGE_DOS_HEADER Structure will not work. I added an "unsafe" C# definition. The other one will not work because it uses "char" and since the data is ASCII the char will use 16 bytes. The unsafe version uses "fixed" which allows use when references are not allowed.
I do not know how to add a note explaining that the unsafe version will work in situations where the other one will not.