@@ -5570,8 +5570,8 @@ namespace Detours {
55705570
55715571		typedef  enum  _HARDWARE_HOOK_TYPE : unsigned  char  {
55725572			TYPE_EXECUTE = 0 ,
5573- 			TYPE_WRITE    = 1 ,
5574- 			TYPE_ACCESS   = 3 
5573+ 			TYPE_WRITE = 1 ,
5574+ 			TYPE_ACCESS = 3 
55755575		} HARDWARE_HOOK_TYPE, *PHARDWARE_HOOK_TYPE;
55765576
55775577		//  ----------------------------------------------------------------
@@ -5592,8 +5592,8 @@ namespace Detours {
55925592		//  ----------------------------------------------------------------
55935593
55945594		typedef  enum  _MEMORY_HOOK_OPERATION : unsigned  char  {
5595- 			MEMORY_READ     = 0 ,
5596- 			MEMORY_WRITE    = 1 ,
5595+ 			MEMORY_READ = 0 ,
5596+ 			MEMORY_WRITE = 1 ,
55975597			MEMORY_EXECUTE = 2 
55985598		} MEMORY_HOOK_OPERATION, *PMEMORY_HOOK_OPERATION;
55995599
@@ -5607,7 +5607,7 @@ namespace Detours {
56075607		//  Memory Hook
56085608		//  ----------------------------------------------------------------
56095609
5610- 		bool  HookMemory (const  fnMemoryHookCallBack pCallBack, void * pAddress, size_t  unSize);
5610+ 		bool  HookMemory (const  fnMemoryHookCallBack pCallBack, void * pAddress, size_t  unSize,  const  fnMemoryHookCallBack pPostCallBack =  nullptr );
56115611		bool  UnHookMemory (const  fnMemoryHookCallBack pCallBack);
56125612
56135613		//  ----------------------------------------------------------------
@@ -5873,30 +5873,30 @@ namespace Detours {
58735873				unsigned  int  m_unEFLAGS;
58745874				unsigned  short  m_unFLAGS;
58755875				struct  {
5876- 					unsigned  int  m_unCF : 1 ;     //  Bit 0: Carry Flag
5877- 					unsigned  int  : 1 ;            //  Bit 1: Reserved
5878- 					unsigned  int  m_unPF : 1 ;     //  Bit 2: Parity Flag
5879- 					unsigned  int  : 1 ;            //  Bit 3: Reserved
5880- 					unsigned  int  m_unAF : 1 ;     //  Bit 4: Auxiliary Carry Flag
5881- 					unsigned  int  : 1 ;            //  Bit 5: Reserved
5882- 					unsigned  int  m_unZF : 1 ;     //  Bit 6: Zero Flag
5883- 					unsigned  int  m_unSF : 1 ;     //  Bit 7: Sign Flag
5884- 					unsigned  int  m_unTF : 1 ;     //  Bit 8: Trap Flag
5885- 					unsigned  int  m_unIF : 1 ;     //  Bit 9: Interrupt Enable Flag
5886- 					unsigned  int  m_unDF : 1 ;     //  Bit 10: Direction Flag
5887- 					unsigned  int  m_unOF : 1 ;     //  Bit 11: Overflow Flag
5888- 					unsigned  int  m_unIOPL : 2 ;   //  Bit 12-13: I/O Privilege Level
5889- 					unsigned  int  m_unNT : 1 ;     //  Bit 14: Nested Task
5890- 					unsigned  int  m_unMD : 1 ;     //  Bit 15: Mode Flag
5891- 					unsigned  int  m_unRF : 1 ;     //  Bit 16: Resume Flag
5892- 					unsigned  int  m_unVM : 1 ;     //  Bit 17: Virtual 8086 Mode Flag
5893- 					unsigned  int  m_unAC : 1 ;     //  Bit 18: Alignment Check
5894- 					unsigned  int  m_unVIF : 1 ;    //  Bit 19: Virtual Interrupt Flag
5895- 					unsigned  int  m_unVIP : 1 ;    //  Bit 20: Virtual Interrupt Pending
5896- 					unsigned  int  m_unID : 1 ;     //  Bit 21: ID Flag
5897- 					unsigned  int  : 8 ;            //  Bit 22-29: Reserved
5898- 					unsigned  int  : 1 ;            //  Bit 30: Reserved
5899- 					unsigned  int  m_unAI : 1 ;     //  Bit 31: Alignment Indicator
5876+ 					unsigned  int  m_unCF : 1 ;   //  Bit 0: Carry Flag
5877+ 					unsigned  int  : 1 ;          //  Bit 1: Reserved
5878+ 					unsigned  int  m_unPF : 1 ;   //  Bit 2: Parity Flag
5879+ 					unsigned  int  : 1 ;          //  Bit 3: Reserved
5880+ 					unsigned  int  m_unAF : 1 ;   //  Bit 4: Auxiliary Carry Flag
5881+ 					unsigned  int  : 1 ;          //  Bit 5: Reserved
5882+ 					unsigned  int  m_unZF : 1 ;   //  Bit 6: Zero Flag
5883+ 					unsigned  int  m_unSF : 1 ;   //  Bit 7: Sign Flag
5884+ 					unsigned  int  m_unTF : 1 ;   //  Bit 8: Trap Flag
5885+ 					unsigned  int  m_unIF : 1 ;   //  Bit 9: Interrupt Enable Flag
5886+ 					unsigned  int  m_unDF : 1 ;   //  Bit 10: Direction Flag
5887+ 					unsigned  int  m_unOF : 1 ;   //  Bit 11: Overflow Flag
5888+ 					unsigned  int  m_unIOPL : 2 ; //  Bit 12-13: I/O Privilege Level
5889+ 					unsigned  int  m_unNT : 1 ;   //  Bit 14: Nested Task
5890+ 					unsigned  int  m_unMD : 1 ;   //  Bit 15: Mode Flag
5891+ 					unsigned  int  m_unRF : 1 ;   //  Bit 16: Resume Flag
5892+ 					unsigned  int  m_unVM : 1 ;   //  Bit 17: Virtual 8086 Mode Flag
5893+ 					unsigned  int  m_unAC : 1 ;   //  Bit 18: Alignment Check
5894+ 					unsigned  int  m_unVIF : 1 ;  //  Bit 19: Virtual Interrupt Flag
5895+ 					unsigned  int  m_unVIP : 1 ;  //  Bit 20: Virtual Interrupt Pending
5896+ 					unsigned  int  m_unID : 1 ;   //  Bit 21: ID Flag
5897+ 					unsigned  int  : 8 ;          //  Bit 22-29: Reserved
5898+ 					unsigned  int  : 1 ;          //  Bit 30: Reserved
5899+ 					unsigned  int  m_unAI : 1 ;   //  Bit 31: Alignment Indicator
59005900				};
59015901			};
59025902
@@ -6068,31 +6068,31 @@ namespace Detours {
60686068				unsigned  int  m_unEFLAGS;
60696069				unsigned  short  m_unFLAGS;
60706070				struct  {
6071- 					unsigned  int  m_unCF : 1 ;     //  Bit 0: Carry Flag
6072- 					unsigned  int  : 1 ;            //  Bit 1: Reserved
6073- 					unsigned  int  m_unPF : 1 ;     //  Bit 2: Parity Flag
6074- 					unsigned  int  : 1 ;            //  Bit 3: Reserved
6075- 					unsigned  int  m_unAF : 1 ;     //  Bit 4: Auxiliary Carry Flag
6076- 					unsigned  int  : 1 ;            //  Bit 5: Reserved
6077- 					unsigned  int  m_unZF : 1 ;     //  Bit 6: Zero Flag
6078- 					unsigned  int  m_unSF : 1 ;     //  Bit 7: Sign Flag
6079- 					unsigned  int  m_unTF : 1 ;     //  Bit 8: Trap Flag
6080- 					unsigned  int  m_unIF : 1 ;     //  Bit 9: Interrupt Enable Flag
6081- 					unsigned  int  m_unDF : 1 ;     //  Bit 10: Direction Flag
6082- 					unsigned  int  m_unOF : 1 ;     //  Bit 11: Overflow Flag
6083- 					unsigned  int  m_unIOPL : 2 ;   //  Bit 12-13: I/O Privilege Level
6084- 					unsigned  int  m_unNT : 1 ;     //  Bit 14: Nested Task
6085- 					unsigned  int  m_unMD : 1 ;     //  Bit 15: Mode Flag
6086- 					unsigned  int  m_unRF : 1 ;     //  Bit 16: Resume Flag
6087- 					unsigned  int  m_unVM : 1 ;     //  Bit 17: Virtual 8086 Mode Flag
6088- 					unsigned  int  m_unAC : 1 ;     //  Bit 18: Alignment Check
6089- 					unsigned  int  m_unVIF : 1 ;    //  Bit 19: Virtual Interrupt Flag
6090- 					unsigned  int  m_unVIP : 1 ;    //  Bit 20: Virtual Interrupt Pending
6091- 					unsigned  int  m_unID : 1 ;     //  Bit 21: ID Flag
6092- 					unsigned  int  : 8 ;            //  Bit 22-29: Reserved
6093- 					unsigned  int  : 1 ;            //  Bit 30: Reserved
6094- 					unsigned  int  m_unAI : 1 ;     //  Bit 31: Alignment Indicator
6095- 					unsigned  int  : 32 ;           //  Bit 32-63: Reserved
6071+ 					unsigned  int  m_unCF : 1 ;   //  Bit 0: Carry Flag
6072+ 					unsigned  int  : 1 ;          //  Bit 1: Reserved
6073+ 					unsigned  int  m_unPF : 1 ;   //  Bit 2: Parity Flag
6074+ 					unsigned  int  : 1 ;          //  Bit 3: Reserved
6075+ 					unsigned  int  m_unAF : 1 ;   //  Bit 4: Auxiliary Carry Flag
6076+ 					unsigned  int  : 1 ;          //  Bit 5: Reserved
6077+ 					unsigned  int  m_unZF : 1 ;   //  Bit 6: Zero Flag
6078+ 					unsigned  int  m_unSF : 1 ;   //  Bit 7: Sign Flag
6079+ 					unsigned  int  m_unTF : 1 ;   //  Bit 8: Trap Flag
6080+ 					unsigned  int  m_unIF : 1 ;   //  Bit 9: Interrupt Enable Flag
6081+ 					unsigned  int  m_unDF : 1 ;   //  Bit 10: Direction Flag
6082+ 					unsigned  int  m_unOF : 1 ;   //  Bit 11: Overflow Flag
6083+ 					unsigned  int  m_unIOPL : 2 ; //  Bit 12-13: I/O Privilege Level
6084+ 					unsigned  int  m_unNT : 1 ;   //  Bit 14: Nested Task
6085+ 					unsigned  int  m_unMD : 1 ;   //  Bit 15: Mode Flag
6086+ 					unsigned  int  m_unRF : 1 ;   //  Bit 16: Resume Flag
6087+ 					unsigned  int  m_unVM : 1 ;   //  Bit 17: Virtual 8086 Mode Flag
6088+ 					unsigned  int  m_unAC : 1 ;   //  Bit 18: Alignment Check
6089+ 					unsigned  int  m_unVIF : 1 ;  //  Bit 19: Virtual Interrupt Flag
6090+ 					unsigned  int  m_unVIP : 1 ;  //  Bit 20: Virtual Interrupt Pending
6091+ 					unsigned  int  m_unID : 1 ;   //  Bit 21: ID Flag
6092+ 					unsigned  int  : 8 ;          //  Bit 22-29: Reserved
6093+ 					unsigned  int  : 1 ;          //  Bit 30: Reserved
6094+ 					unsigned  int  m_unAI : 1 ;   //  Bit 31: Alignment Indicator
6095+ 					unsigned  int  : 32 ;         //  Bit 32-63: Reserved
60966096				};
60976097			};
60986098
0 commit comments