You said it right Tim. I did not get either the magic recipe or the proper headers :(.
I used to build “bld -cew” command every time i changes.
Here is the complete header details. I could see each section are “Not paged”. Can you guide more.
FILE HEADER VALUES
8664 machine (x64)
8 number of sections
5A780F9A time date stamp Mon Feb 05 13:32:34 2018
0 file pointer to symbol table
0 number of symbols
F0 size of optional header
22 characteristics
Executable
Application can handle large (>2GB) addresses
OPTIONAL HEADER VALUES
20B magic # (PE32+)
9.00 linker version
41800 size of code
5880 size of initialized data
0 size of uninitialized data
459E4 entry point (00000000000559E4) GsDriverEntry
380 base of code
10000 image base (0000000000010000 to 00000000000573FF)
80 section alignment
80 file alignment
6.01 operating system version
6.01 image version
1.10 subsystem version
0 Win32 version
47400 size of image
380 size of headers
492AA checksum
1 subsystem (Native)
2000 DLL characteristics
WDM Driver
40000 size of stack reserve
1000 size of stack commit
100000 size of heap reserve
1000 size of heap commit
0 loader flags
10 number of directories
0 [0] RVA [size] of Export Directory
45A04 [50] RVA [size] of Import Directory
46700 [438] RVA [size] of Resource Directory
43A00 [1ECC] RVA [size] of Exception Directory
0 [0] RVA [size] of Certificates Directory
46B80 [510] RVA [size] of Base Relocation Directory
41150 [1C] RVA [size] of Debug Directory
0 [0] RVA [size] of Architecture Directory
0 [0] RVA [size] of Global Pointer Directory
0 [0] RVA [size] of Thread Storage Directory
0 [0] RVA [size] of Load Configuration Directory
0 [0] RVA [size] of Bound Import Directory
40E00 [350] RVA [size] of Import Address Table Directory
0 [0] RVA [size] of Delay Import Directory
0 [0] RVA [size] of COM Descriptor Directory
0 [0] RVA [size] of Reserved Directory
SECTION HEADER #1
.text name
40A15 virtual size
380 virtual address (0000000000010380 to 0000000000050D94)
40A80 size of raw data
380 file pointer to raw data (00000380 to 00040DFF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
68000020 flags
Code
Not Paged
Execute Read
SECTION HEADER #2
.rdata name
215C virtual size
40E00 virtual address (0000000000050E00 to 0000000000052F5B)
2180 size of raw data
40E00 file pointer to raw data (00040E00 to 00042F7F)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
48000040 flags
Initialized Data
Not Paged
Read Only
Debug Directories
Time Type Size RVA Pointer
5A780F9A cv 57 000427B0 427B0 Format: RSDS, {75ACD3F0-83E2-44A6-BA4F-E9BCB3A138B3}, 1, c:\winddk\vs-old\objfre_win7_amd64\amd64\driverxxx.pdb
SECTION HEADER #3
.data name
A40 virtual size
42F80 virtual address (0000000000052F80 to 00000000000539BF)
A80 size of raw data
42F80 file pointer to raw data (00042F80 to 000439FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
C8000040 flags
Initialized Data
Not Paged
Read Write
SECTION HEADER #4
.pdata name
1ECC virtual size
43A00 virtual address (0000000000053A00 to 00000000000558CB)
1F00 size of raw data
43A00 file pointer to raw data (00043A00 to 000458FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
48000040 flags
Initialized Data
Not Paged
Read Only
SECTION HEADER #5
.CRT name
58 virtual size
45900 virtual address (0000000000055900 to 0000000000055957)
80 size of raw data
45900 file pointer to raw data (00045900 to 0004597F)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
48000040 flags
Initialized Data
Not Paged
Read Only
SECTION HEADER #6
INIT name
D3A virtual size
45980 virtual address (0000000000055980 to 00000000000566B9)
D80 size of raw data
45980 file pointer to raw data (00045980 to 000466FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
E2000020 flags
Code
Discardable
Execute Read Write
SECTION HEADER #7
.rsrc name
438 virtual size
46700 virtual address (0000000000056700 to 0000000000056B37)
480 size of raw data
46700 file pointer to raw data (00046700 to 00046B7F)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
42000040 flags
Initialized Data
Discardable
Read Only
SECTION HEADER #8
.reloc name
838 virtual size
46B80 virtual address (0000000000056B80 to 00000000000573B7)
880 size of raw data
46B80 file pointer to raw data (00046B80 to 000473FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
42000040 flags
Initialized Data
Discardable
Read Only
Summary
80 .CRT
A80 .data
1F00 .pdata
2180 .rdata
880 .reloc
480 .rsrc
40A80 .text
D80 INIT