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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eventlog.h

?? Rootkit upload by benina rea
?? H
字號:
/******************************************************************************
Module:  EventLog.h
Notices: Copyright (c) 2000 Jeffrey Richter
******************************************************************************/


#pragma once   // Include this header file once per compilation unit


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


//#include "..\CmnHdr.h"                 /* See Appendix A. */

// This macro evaluates to the number of elements in an array. 
#define chDIMOF(Array) (sizeof(Array) / sizeof(Array[0]))
// This macro evaluates to the number of bytes needed by a string.
#define chSIZEOFSTRING(psz)   ((lstrlen(psz) + 1) * sizeof(TCHAR))


/******************************************************************************


To add a message compiler file to Visual Studio's Build Environment
perform the following steps:

  1) Insert the *.mc file into the project
  2) Select the MC file in the Project Settings dialog box
  3) Change the description to "Message Compiler"
  4) Add the following 2 Build Command(s):
     "mc -s -U -h $(ProjDir) -r $(ProjDir) $(InputName)"
     "del $(ProjDir)\$(InputName).rc"
  5) Add the following 2 Output file(s):
     "$(InputName).h"
     "Msg00001.bin"
  6) Include the generated header file in the source file(s)
     that call the ReportEvent function
  7) Since I delete the MC generated .rc file, you must manually
     import the MSG0001.bin file into your project's .rc file
     using a resource type of 11 and a resource ID of 1.


******************************************************************************/


class CEventLog {
public:
   CEventLog(PCTSTR pszAppName);
   ~CEventLog();
   BOOL Install(DWORD dwTypesSupported, 
      PCTSTR pszEventMsgFilePaths = NULL, 
      PCTSTR pszParameterMsgFilePaths = NULL, 
      DWORD dwCategoryCount = 0, 
      PCTSTR pszCategoryMsgFilePaths = NULL);
   BOOL Uninstall();

   // Records an event into the event log
   enum REPORTEVENTUSER { REUSER_NOTAPPLICABLE, REUSER_SERVICE, REUSER_CLIENT }; 
   BOOL ReportEvent(WORD wType,  WORD wCategory, 
      DWORD dwEventID, REPORTEVENTUSER reu = REUSER_NOTAPPLICABLE, 
      WORD  wNumStrings = 0, PCTSTR *pStrings = NULL, 
      DWORD dwDataSize = 0, PVOID pvRawData = NULL);  

private:
   PCTSTR m_pszAppName;
   HANDLE m_hEventLog;
};


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


//#ifdef EVENTLOG_IMPL


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


CEventLog::CEventLog(PCTSTR pszAppName) {
   m_pszAppName = pszAppName;
   m_hEventLog = NULL;
}


CEventLog::~CEventLog() {
   if (m_hEventLog != NULL) { 
      ::DeregisterEventSource(m_hEventLog);
   }
}


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


BOOL CEventLog::Install(DWORD dwTypesSupported, 
   PCTSTR pszEventMsgFilePaths, PCTSTR pszParameterMsgFilePaths, 
   DWORD dwCategoryCount, PCTSTR pszCategoryMsgFilePaths) {

   // Make sure at least one valid Support Type is specified
/*   chASSERT(0 != (dwTypesSupported & 
      (EVENTLOG_INFORMATION_TYPE | EVENTLOG_WARNING_TYPE | 
      EVENTLOG_ERROR_TYPE)));
*/
   BOOL fOk = TRUE;
   TCHAR szSubKey[_MAX_PATH];
   wsprintf(szSubKey, 
      TEXT("System\\CurrentControlSet\\Services\\EventLog\\System\\%s"),
      m_pszAppName);

   // If the application doesn't support any types (the default), 
   // don't install an event log for this service
   HKEY hkey = NULL;
   __try {
      LONG l;
      l = RegCreateKeyEx(HKEY_LOCAL_MACHINE, szSubKey, 0, NULL, 
         REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hkey, NULL);
      if (l != NO_ERROR) __leave;
      
      l = RegSetValueEx(hkey, TEXT("TypesSupported"), 0, REG_DWORD, 
         (PBYTE) &dwTypesSupported, sizeof(dwTypesSupported));
      if (l != NO_ERROR) __leave;

      TCHAR szModulePathname[MAX_PATH];
      GetModuleFileName(NULL, szModulePathname, chDIMOF(szModulePathname));

      if (pszEventMsgFilePaths == NULL) 
         pszEventMsgFilePaths = szModulePathname;
      l = RegSetValueEx(hkey, TEXT("EventMessageFile"), 0, REG_EXPAND_SZ, 
         (PBYTE) pszEventMsgFilePaths, chSIZEOFSTRING(pszEventMsgFilePaths));
      if (l != NO_ERROR) __leave;

      if (pszParameterMsgFilePaths == NULL) 
         pszParameterMsgFilePaths = szModulePathname;
      l = RegSetValueEx(hkey, TEXT("ParameterMessageFile"), 0, REG_EXPAND_SZ,  
         (PBYTE) pszParameterMsgFilePaths, chSIZEOFSTRING(pszParameterMsgFilePaths));
      if (l != NO_ERROR) __leave;

      if (dwCategoryCount > 0) {
         if (pszCategoryMsgFilePaths == NULL) 
            pszCategoryMsgFilePaths = szModulePathname;
         l = RegSetValueEx(hkey, TEXT("CategoryMessageFile"), 0, REG_EXPAND_SZ,   
            (PBYTE) pszCategoryMsgFilePaths, chSIZEOFSTRING(pszCategoryMsgFilePaths));
         if (l != NO_ERROR) __leave;

         l = RegSetValueEx(hkey, TEXT("CategoryCount"), 0, REG_DWORD, 
            (PBYTE) &dwCategoryCount, sizeof(dwCategoryCount));
         if (l != NO_ERROR) __leave;
      }
      fOk = TRUE;
   }
   __finally {
      if (hkey != NULL) RegCloseKey(hkey);
   }
   return(fOk);
}


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


BOOL CEventLog::Uninstall() {

   // Install each service's event log
   TCHAR szSubKey[_MAX_PATH];
   wsprintf(szSubKey, 
      TEXT("System\\CurrentControlSet\\Services\\EventLog\\System\\%s"), 
      m_pszAppName);
   return(NO_ERROR == RegDeleteKey(HKEY_LOCAL_MACHINE, szSubKey));
}


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


BOOL CEventLog::ReportEvent(WORD wType, WORD wCategory, DWORD dwEventID, 
   REPORTEVENTUSER reu, WORD wNumStrings, PCTSTR* pStrings, DWORD dwDataSize, 
   PVOID pvRawData) {

   BOOL fOk = TRUE;    // Assume success

   if (m_hEventLog == NULL) {
      // This is the first time that ReportEvent is being 
      // called, open the log first
      m_hEventLog = ::RegisterEventSource(NULL, m_pszAppName);
   }
   if (m_hEventLog != NULL) {
      PSID psidUser = NULL;
      if (reu != REUSER_NOTAPPLICABLE) {
         HANDLE hToken;
         if (REUSER_SERVICE == reu)
            fOk = OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken);
         else 
            fOk = OpenThreadToken(GetCurrentThread(), TOKEN_QUERY, TRUE, &hToken);
         if (fOk) {
            BYTE bTokenUser[1024];
            PTOKEN_USER ptuUserSID = (PTOKEN_USER) bTokenUser;
            DWORD dwReturnLength;
            GetTokenInformation(hToken, TokenUser, ptuUserSID, 
               sizeof(bTokenUser), &dwReturnLength);  
            CloseHandle(hToken);
            psidUser = ptuUserSID->User.Sid;
         }
      }

      fOk = fOk && ::ReportEvent(m_hEventLog, wType, wCategory, dwEventID, 
         psidUser, wNumStrings, dwDataSize, pStrings, pvRawData);
   }
   return(fOk);
}

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


//#endif   // SERVICECTRL_IMPL


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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷av一区二区三区gif| 国产精品久线在线观看| 国产精品美女久久久久久久久久久 | 国产精品美女久久久久av爽李琼 | 美女视频黄a大片欧美| youjizz久久| 久久久久久久久久看片| 五月激情丁香一区二区三区| 国产v日产∨综合v精品视频| 欧美美女黄视频| 亚洲乱码日产精品bd| 激情文学综合丁香| 日韩一级片在线观看| 亚洲一区二区精品久久av| 高清日韩电视剧大全免费| 美美哒免费高清在线观看视频一区二区| 成人国产精品免费观看视频| 精品成人在线观看| 免费三级欧美电影| 欧美日韩免费高清一区色橹橹 | 一区在线中文字幕| 国产在线精品免费| 日韩久久精品一区| 天天综合天天综合色| 欧美午夜电影网| 亚洲精品免费在线| 色婷婷av一区二区三区软件| 中文字幕一区二区三区av| 国产精品亚洲午夜一区二区三区 | 欧美猛男超大videosgay| 亚洲国产成人av网| 欧美色综合天天久久综合精品| 亚洲视频一区二区在线观看| 成人av在线播放网址| 国产日产欧产精品推荐色| 国产一区欧美一区| 国产婷婷精品av在线| 国产91丝袜在线播放| 国产精品女主播av| 99re热这里只有精品免费视频| 国产精品热久久久久夜色精品三区| 成人中文字幕在线| 国产精品美女久久久久久久久久久| 成熟亚洲日本毛茸茸凸凹| 国产精品久久久久久户外露出| 99久久久免费精品国产一区二区| 亚洲图片你懂的| 欧美影院一区二区| 蜜桃一区二区三区在线观看| 精品久久人人做人人爱| 丁香亚洲综合激情啪啪综合| 亚洲人一二三区| 欧美日本国产视频| 激情小说亚洲一区| 国产精品伦一区| 欧美日韩一区视频| 久久超碰97人人做人人爱| 国产色一区二区| 在线免费一区三区| 久草热8精品视频在线观看| 欧美国产欧美综合| 欧美视频在线播放| 九九国产精品视频| 亚洲青青青在线视频| 欧美日韩成人激情| 国产成人福利片| 亚洲五码中文字幕| 久久久久久久综合狠狠综合| 色综合久久久网| 久久精品72免费观看| 亚洲日穴在线视频| 日韩欧美中文一区二区| 北条麻妃一区二区三区| 图片区日韩欧美亚洲| 欧美激情资源网| 91麻豆精品国产91久久久久 | 国产色产综合色产在线视频| 欧美日韩在线播放| 丁香另类激情小说| 久久精品99国产国产精| 一区二区三区欧美亚洲| 国产午夜精品在线观看| 欧美猛男gaygay网站| 岛国av在线一区| 老司机一区二区| 亚洲乱码国产乱码精品精可以看| 日韩精品一区二区三区在线播放| 91香蕉视频在线| 国产精品一区二区免费不卡| 视频一区视频二区中文字幕| 亚洲少妇中出一区| 国产欧美日本一区二区三区| 91精品欧美一区二区三区综合在| www.亚洲在线| 风间由美一区二区三区在线观看| 麻豆精品国产91久久久久久| 亚洲免费av高清| 中文字幕欧美三区| 久久久久久麻豆| 欧美精品一区二区三区蜜臀| 欧美精品aⅴ在线视频| 91高清视频在线| 99久久久久久99| 成人免费毛片高清视频| 国产福利视频一区二区三区| 日本成人在线网站| 视频一区二区中文字幕| 一区二区三区四区在线播放| 最新中文字幕一区二区三区| 国产色一区二区| 欧美激情一区二区三区不卡 | 亚洲卡通动漫在线| 中文字幕制服丝袜一区二区三区 | 久久久天堂av| 久久久久亚洲蜜桃| 欧美激情中文不卡| 国产精品视频你懂的| 欧美高清在线一区| 中文字幕久久午夜不卡| 国产精品白丝在线| 亚洲精品写真福利| 亚洲国产精品久久人人爱蜜臀| 一区二区三区久久久| 亚洲国产精品视频| 青草av.久久免费一区| 久久精品国产精品亚洲精品| 极品销魂美女一区二区三区| 国产成人精品午夜视频免费| 成人精品一区二区三区中文字幕 | 一区二区三区不卡在线观看| 亚洲一区国产视频| 日本午夜精品视频在线观看| 狠狠色伊人亚洲综合成人| 国产麻豆精品theporn| 成人激情视频网站| 91丝袜美腿高跟国产极品老师| 91黄视频在线| 欧美一区二区观看视频| 日韩精品中文字幕一区二区三区 | 久久精品亚洲精品国产欧美| 欧美激情一区二区三区蜜桃视频| 亚洲欧美乱综合| 日韩av中文字幕一区二区| 久久精品二区亚洲w码| 国产成人免费在线视频| 在线精品观看国产| 日韩视频在线观看一区二区| 欧美激情自拍偷拍| 亚洲成在人线在线播放| 国精品**一区二区三区在线蜜桃| 成人va在线观看| 欧美一区二区三区视频在线| 国产日韩欧美综合在线| 亚洲国产成人porn| 国产成人在线电影| 欧美日韩在线亚洲一区蜜芽| 国产亚洲综合av| 午夜欧美大尺度福利影院在线看| 国产乱人伦偷精品视频免下载| 色哟哟一区二区三区| 欧美videos中文字幕| 亚洲精品成人a在线观看| 久久99国产精品久久| 一本大道久久精品懂色aⅴ| 精品国产乱码久久久久久老虎 | 奇米色777欧美一区二区| 国产99久久久久| 制服.丝袜.亚洲.中文.综合| 亚洲欧洲成人自拍| 国产精品888| 欧美一区二区三区在线视频| 亚洲视频在线一区二区| 韩国成人精品a∨在线观看| 欧美人xxxx| 亚洲一区在线播放| 成人性生交大片免费看视频在线 | 国产成人在线观看免费网站| 91精品国产一区二区| 一区二区三区色| av在线不卡观看免费观看| 精品国产精品一区二区夜夜嗨| 亚洲成人777| 欧美体内she精视频| 亚洲人成网站在线| eeuss鲁片一区二区三区在线看| 精品久久国产字幕高潮| 日韩精品1区2区3区| 欧美日韩亚洲丝袜制服| 亚洲狠狠丁香婷婷综合久久久| 国产大片一区二区| 国产亚洲精品aa| 国产风韵犹存在线视精品| 久久亚洲精品小早川怜子| 韩国av一区二区三区四区| 精品日本一线二线三线不卡| 日本中文字幕不卡| 欧美日韩不卡视频| 午夜精品久久久久久久久久| 欧美日韩日日摸| 免费高清在线视频一区·|