新密网站建设,wordpress 添加广告位,中国商业企业网,网站上传小马后怎么做转自#xff1a;http://blog.chinaunix.net/uid-24504987-id-161192.html Windows规定有些虚拟内存可以交换到文件中#xff0c;这类内存被称为分页内存 有些虚拟内存 永远不会交换到文件中#xff0c;这些内存叫非分页内存 #define PAGEDCODE code_seg(“PAGE”);//分页内… 转自http://blog.chinaunix.net/uid-24504987-id-161192.html Windows规定有些虚拟内存可以交换到文件中这类内存被称为分页内存 有些虚拟内存 永远不会交换到文件中这些内存叫非分页内存 #define PAGEDCODE code_seg(“PAGE”);//分页内存 #define LOCKEDCODE code_seg();//非分页的 #define INITCODE code_seg(“INIT”); #define PAGEDDATA data_seg(“PAGE”); #define LOCKEDDATA data_seg(); #define INITDATA data_seg(“INIT”); 例 如果将某个函数载入到分页内存中可用下列的函数 #pragma PAGEDCODE VOID Fun() { PAGED_CODE(); //do something } 注意 PAGED_CODE()是DDK提供的宏只在check版本中生效它会检查这个函 数是否运行在低于DISPATCH_LEVAL的中断请求如果等于或高于这个中断请求级则产生一个断言。当程序运行在DISPATCH_LEVEL之上时包括本 层程序只能使用非分页内存否则将导致蓝屏死机 如果将某个函数载入到非分页内存中可用下列的函数 #pragma LOCKEDCODE VOID Fun() { } 某个例程需要在初始化的时候载入内存然后可以从内存中卸载掉比如DriverEntry 情况下DriverEntry会很大占据很大的空间为了节省内存需要及时地从内存中卸载 #pragma INITCODE NTSTATUS DriverEntry( IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING RegisterPath)
{//do something }