亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? addrwindow.h

?? Windows via C/C++, Fifth Edition圖書源代碼
?? H
字號:
/******************************************************************************
Module:  AddrWindow.h
Notices: Copyright (c) 2008 Jeffrey Richter & Christophe Nasarre
******************************************************************************/


#pragma once


///////////////////////////////////////////////////////////////////////////////


#include "..\CommonFiles\CmnHdr.h"     /* See Appendix A. */
#include <tchar.h>


///////////////////////////////////////////////////////////////////////////////


class CSystemInfo : public SYSTEM_INFO {
public:
   CSystemInfo() { GetSystemInfo(this); }
};


///////////////////////////////////////////////////////////////////////////////


class CAddrWindow {
public:
   CAddrWindow()  { m_pvWindow = NULL; }
   ~CAddrWindow() { Destroy(); }

   BOOL Create(SIZE_T dwBytes, PVOID pvPreferredWindowBase = NULL) {
      // Reserve address window region to view physical storage
      m_pvWindow = VirtualAlloc(pvPreferredWindowBase, dwBytes, 
         MEM_RESERVE | MEM_PHYSICAL, PAGE_READWRITE);
      return(m_pvWindow != NULL);
   }

   BOOL Destroy() {
      BOOL bOk = TRUE;
      if (m_pvWindow != NULL) {
         // Destroy address window region
         bOk = VirtualFree(m_pvWindow, 0, MEM_RELEASE);
         m_pvWindow = NULL;
      }
      return(bOk);
   }

   BOOL UnmapStorage() {
      // Unmap all storage from address window region
      MEMORY_BASIC_INFORMATION mbi;
      VirtualQuery(m_pvWindow, &mbi, sizeof(mbi));
      return(MapUserPhysicalPages(m_pvWindow, 
         mbi.RegionSize / sm_sinf.dwPageSize, NULL));
   }

   // Returns virtual address of address window
   operator PVOID() { return(m_pvWindow); }

private:
   PVOID m_pvWindow;    // Virtual address of address window region
   static CSystemInfo sm_sinf;
};


///////////////////////////////////////////////////////////////////////////////


CSystemInfo CAddrWindow::sm_sinf;


///////////////////////////////////////////////////////////////////////////////


class CAddrWindowStorage {
public:
   CAddrWindowStorage()  { m_ulPages = 0; m_pulUserPfnArray = NULL; }
   ~CAddrWindowStorage() { Free(); }

   BOOL Allocate(ULONG_PTR ulBytes) {
      // Allocate storage intended for an address window

      Free();  // Clean up this object's existing address window

      // Calculate number of pages from number of bytes
      m_ulPages = (ulBytes + sm_sinf.dwPageSize - 1) / sm_sinf.dwPageSize;

      // Allocate array of page frame numbers
      m_pulUserPfnArray = (PULONG_PTR) 
         HeapAlloc(GetProcessHeap(), 0, m_ulPages * sizeof(ULONG_PTR));

      BOOL bOk = (m_pulUserPfnArray != NULL);
      if (bOk) {
         // The "Lock Pages in Memory" privilege must be enabled
         EnablePrivilege(SE_LOCK_MEMORY_NAME, TRUE);
         bOk = AllocateUserPhysicalPages(GetCurrentProcess(), 
            &m_ulPages, m_pulUserPfnArray);
         EnablePrivilege(SE_LOCK_MEMORY_NAME, FALSE);
      }
      return(bOk);
   }

   BOOL Free() {
      BOOL bOk = TRUE;
      if (m_pulUserPfnArray != NULL) {
         bOk = FreeUserPhysicalPages(GetCurrentProcess(), 
            &m_ulPages, m_pulUserPfnArray);
         if (bOk) {
            // Free the array of page frame numbers
            HeapFree(GetProcessHeap(), 0, m_pulUserPfnArray);
            m_ulPages = 0; 
            m_pulUserPfnArray = NULL; 
         }
      }
      return(bOk);
   }

   ULONG_PTR HowManyPagesAllocated() { return(m_ulPages); }

   BOOL MapStorage(CAddrWindow& aw) {
      return(MapUserPhysicalPages(aw, 
         HowManyPagesAllocated(), m_pulUserPfnArray));
   }

   BOOL UnmapStorage(CAddrWindow& aw) {
      return(MapUserPhysicalPages(aw, 
         HowManyPagesAllocated(), NULL));
   }

private:
   static BOOL EnablePrivilege(PCTSTR pszPrivName, BOOL bEnable = TRUE) {

      BOOL bOk = FALSE;    // Assume function fails
      HANDLE hToken;

      // Try to open this process' access token
      if (OpenProcessToken(GetCurrentProcess(), 
         TOKEN_ADJUST_PRIVILEGES, &hToken)) {

         // Attempt to modify the "Lock pages in Memory" privilege
         TOKEN_PRIVILEGES tp = { 1 };
         LookupPrivilegeValue(NULL, pszPrivName, &tp.Privileges[0].Luid);
         tp.Privileges[0].Attributes = bEnable ? SE_PRIVILEGE_ENABLED : 0;
         AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
         bOk = (GetLastError() == ERROR_SUCCESS);
         CloseHandle(hToken);
      }
      return(bOk);
   }

private:
   ULONG_PTR  m_ulPages;         // Number of storage pages
   PULONG_PTR m_pulUserPfnArray; // Page frame number array

private:
   static CSystemInfo sm_sinf;
};


///////////////////////////////////////////////////////////////////////////////


CSystemInfo CAddrWindowStorage::sm_sinf;


//////////////////////////////// End of File //////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品理论片a级大结局| 麻豆精品在线播放| 久久综合综合久久综合| 成人午夜伦理影院| xfplay精品久久| 日韩高清欧美激情| 91美女精品福利| 国产拍欧美日韩视频二区| 无吗不卡中文字幕| 99精品热视频| 日本一区二区三区dvd视频在线| 日韩福利视频导航| 欧美亚洲日本国产| 亚洲免费av高清| 99久久综合国产精品| 久久综合成人精品亚洲另类欧美| 婷婷开心激情综合| 欧美理论电影在线| 亚洲国产日韩一级| 欧美天天综合网| 夜夜爽夜夜爽精品视频| 91色porny在线视频| 国产精品久久久久桃色tv| 国产精品自在欧美一区| 精品国产一区久久| 国内欧美视频一区二区| 精品免费国产一区二区三区四区| 日产国产高清一区二区三区| 在线观看www91| 亚洲图片欧美一区| 欧美乱妇20p| 男女激情视频一区| 日韩三级视频在线观看| 久草中文综合在线| 久久综合色鬼综合色| 国产在线视频一区二区| 久久九九久久九九| 风流少妇一区二区| 综合电影一区二区三区| 色中色一区二区| 一区二区三区在线观看网站| 欧美主播一区二区三区| 日韩精品久久久久久| 欧美成人综合网站| 国产91在线看| 中文字幕一区二区三区在线不卡| av午夜精品一区二区三区| 亚洲综合偷拍欧美一区色| 欧美日韩在线播| 久久99国内精品| 国产亚洲精品资源在线26u| av动漫一区二区| 亚洲国产欧美另类丝袜| 日韩三级在线免费观看| 国产.精品.日韩.另类.中文.在线.播放| 中文字幕欧美国产| 欧美图片一区二区三区| 狠狠色丁香久久婷婷综合_中 | 有码一区二区三区| 欧美人动与zoxxxx乱| 毛片av中文字幕一区二区| 国产日韩欧美一区二区三区综合| 91在线精品一区二区| 五月激情综合网| 国产人成亚洲第一网站在线播放| 在线亚洲+欧美+日本专区| 强制捆绑调教一区二区| 国产精品成人一区二区艾草| 欧美日韩中文精品| 岛国精品在线播放| 天堂成人国产精品一区| 久久精品人人做人人综合| 欧美亚洲尤物久久| 丁香婷婷综合色啪| 青青草国产成人99久久| 1024成人网色www| 精品少妇一区二区三区在线视频| 99精品国产91久久久久久| 青椒成人免费视频| 夜夜揉揉日日人人青青一国产精品| 欧美成人精品福利| 欧美日韩视频在线第一区| 国产成人a级片| 麻豆国产精品一区二区三区| 亚洲视频电影在线| 久久精品亚洲精品国产欧美| 欧美日高清视频| 91麻豆国产在线观看| 国产老妇另类xxxxx| 日本免费新一区视频| 亚洲黄色小视频| 中文字幕永久在线不卡| 欧美高清在线精品一区| 日韩欧美中文一区| 制服丝袜成人动漫| 欧美在线你懂得| 91热门视频在线观看| 不卡电影免费在线播放一区| 国产一区999| 久久精品国产亚洲5555| 日韩制服丝袜先锋影音| 亚洲成人免费观看| 午夜精品福利一区二区蜜股av| 亚洲精品视频免费观看| 中文字幕在线不卡一区二区三区| 国产区在线观看成人精品| 久久久精品国产99久久精品芒果| 日韩精品专区在线| 日韩美一区二区三区| 精品国产乱码久久久久久免费| 日韩视频国产视频| 亚洲精品一区二区三区蜜桃下载| 精品国产精品一区二区夜夜嗨| 精品三级在线观看| 日韩一区国产二区欧美三区| 777xxx欧美| 91精品国产欧美一区二区18 | 91福利国产成人精品照片| 99久久综合精品| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 国产精品美女www爽爽爽| 2024国产精品| 国产香蕉久久精品综合网| 国产婷婷色一区二区三区四区 | 国产精品亚洲午夜一区二区三区| 精品在线你懂的| 国产乱理伦片在线观看夜一区| 国产风韵犹存在线视精品| 粉嫩aⅴ一区二区三区四区| 成人av一区二区三区| 日本韩国一区二区三区| 4438成人网| 久久这里只有精品首页| 亚洲手机成人高清视频| 亚洲成人av中文| 经典一区二区三区| 99国产精品一区| 91精品国产麻豆| 亚洲国产成人午夜在线一区| 一区二区三区在线视频播放| 免费成人在线播放| www.色精品| 欧美肥大bbwbbw高潮| 国产目拍亚洲精品99久久精品| 亚洲免费伊人电影| 日本欧美韩国一区三区| 成人h动漫精品| 7777女厕盗摄久久久| 国产精品国产三级国产aⅴ原创| 亚洲一区二区偷拍精品| 九色综合狠狠综合久久| 99国产精品久久久| 日韩一区二区电影| 综合av第一页| 国产剧情一区二区| 欧美调教femdomvk| 国产精品女人毛片| 精品一区精品二区高清| 色嗨嗨av一区二区三区| 久久你懂得1024| 日韩成人精品在线观看| 91小宝寻花一区二区三区| 久久综合九色综合欧美98| 亚洲精品视频自拍| 国产精品一区二区不卡| 欧美日韩大陆在线| 1000部国产精品成人观看| 国产自产2019最新不卡| 欧美性xxxxxx少妇| 国产精品国产自产拍在线| 国产在线精品一区二区不卡了 | 国产亚洲精品中文字幕| 婷婷中文字幕一区三区| av亚洲产国偷v产偷v自拍| 精品国产凹凸成av人网站| 图片区日韩欧美亚洲| 色综合久久综合| 国产农村妇女精品| 国产一区日韩二区欧美三区| 91麻豆精品91久久久久久清纯| 亚洲视频一区二区在线观看| 国产精品一区专区| 日韩免费福利电影在线观看| 日韩主播视频在线| 欧美性感一区二区三区| 亚洲精品免费看| 99久久精品国产精品久久| 国产精品麻豆一区二区| 成人h动漫精品一区二区| 国产欧美日韩另类视频免费观看 | av高清久久久| 国产精品日韩成人| 国产麻豆精品theporn| 精品国产乱码久久久久久浪潮| 奇米影视一区二区三区| 欧美一区二区三区公司| 蜜臀av国产精品久久久久| 欧美成人a在线| 国产盗摄一区二区| 中文字幕五月欧美|