private static unsafe void WriteDosHeader(byte[] buffer, uint pos, IMAGE_DOS_HEADER header) { fixed(byte *p = buffer) { IMAGE_DOS_HEADER *ptr = (IMAGE_DOS_HEADER *)(p + pos); *ptr = header; } }
private static unsafe IMAGE_DOS_HEADER ReadDosHeader(byte[] buffer, uint pos) { IMAGE_DOS_HEADER dosHeader = new IMAGE_DOS_HEADER(); fixed(byte *p = buffer) { IMAGE_DOS_HEADER *ptr = (IMAGE_DOS_HEADER *)(p + pos); dosHeader = *ptr; } return(dosHeader); }