By the way, for the first parameter for which 8 means execution, there are named constants in WinNT.h. It is a platform-specific value, so you should probably use them instead of the literal 8.
#define EXCEPTION_READ_FAULT 0 // exception caused by a read
#define EXCEPTION_WRITE_FAULT 1 // exception caused by a write
#define EXCEPTION_EXECUTE_FAULT 8 // exception caused by an instruction fetch