这两个函数不是返回该段内存是否可读写,而是当不可读写的时候
引发一个异常(Exception)。这个异常需要用到微软的编译器提供的
"结构化异常"处理变法。"结构化异常"机制会轻松的检测到这种异常
进而做出相应的异常处理
/************************************************************************ * 函数名称:ProbeForRead * 功能描述:检查该内存是否可读 * 参数列表: Address:血药被检查的内存的地址 Length:需要被检查的内存的长度,单位是字节 Alignment:描述该段内存是以多少字节对齐的 * 返回 值:VOID *************************************************************************/ VOID ProbeForRead( IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment); /************************************************************************ * 函数名称:ProbeForWrite * 功能描述:检查该内存是否可读 * 参数列表: Address:血药被检查的内存的地址 Length:需要被检查的内存的长度,单位是字节 Alignment:描述该段内存是以多少字节对齐的 * 返回 值:VOID *************************************************************************/ VOID ProbeForWrite( IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment);