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

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

?? 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 /////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠久久亚洲欧美| 激情五月激情综合网| 久久先锋影音av鲁色资源| 欧洲av一区二区嗯嗯嗯啊| 成人免费高清视频| 99久久婷婷国产综合精品| a级精品国产片在线观看| 99久久夜色精品国产网站| jlzzjlzz国产精品久久| 91麻豆精东视频| 99久久er热在这里只有精品66| www.亚洲在线| 91亚洲午夜精品久久久久久| 91蜜桃视频在线| 91精品1区2区| 欧美一区二区三区视频免费| 日韩精品资源二区在线| 久久精品在线免费观看| 国产精品狼人久久影院观看方式| 中文字幕一区二区三区乱码在线| 亚洲欧美自拍偷拍色图| 香蕉影视欧美成人| 激情偷乱视频一区二区三区| 成人h动漫精品一区二区| 91丨porny丨中文| 制服丝袜成人动漫| 精品成a人在线观看| 亚洲三级在线播放| 香蕉乱码成人久久天堂爱免费| 久久99久久99小草精品免视看| 国产麻豆视频一区| 91麻豆精品秘密| 欧美一区二区三区免费在线看| 国产欧美一区二区精品久导航| 亚洲色图在线播放| 日韩电影在线观看一区| 精品在线免费视频| 91福利国产成人精品照片| 精品处破学生在线二十三| 亚洲乱码国产乱码精品精的特点| 亚洲国产精品自拍| 国产经典欧美精品| 欧美一区日本一区韩国一区| 综合亚洲深深色噜噜狠狠网站| 天堂资源在线中文精品| 国产99精品在线观看| 欧美日韩国产另类不卡| 国产精品蜜臀在线观看| 精品在线观看免费| 欧美日韩午夜影院| 亚洲色图19p| 国产成人免费视频网站高清观看视频| 欧美性猛交xxxx乱大交退制版| 久久久激情视频| 免费不卡在线视频| 欧美日韩一区二区电影| 一区在线观看免费| 国产高清精品网站| 久久婷婷成人综合色| 天天综合色天天综合色h| 成人动漫在线一区| 日韩精品一区二区三区四区| 亚洲综合激情网| 91在线观看一区二区| 久久亚洲一区二区三区明星换脸| 婷婷成人激情在线网| 欧美午夜在线一二页| 亚洲欧洲av一区二区三区久久| 国产一区在线观看麻豆| 91麻豆精品国产91久久久久久久久| 日韩毛片在线免费观看| 99久久免费国产| 日韩伦理av电影| 国产成人免费视频网站高清观看视频 | 中文字幕一区二区三区在线不卡 | 九一久久久久久| 欧美日韩国产高清一区二区三区| 国产精品久久久久久久久久免费看 | 秋霞电影一区二区| 欧美精品aⅴ在线视频| 亚洲国产精品久久久男人的天堂| 91久久精品一区二区| 亚洲一区在线视频| 欧美日韩一区三区| 亚洲一区二区三区四区在线观看| 91国在线观看| 午夜精品久久久久久久| 日韩精品中文字幕在线不卡尤物 | 欧美国产日本视频| 成人国产在线观看| 一区二区高清视频在线观看| 欧美日韩专区在线| 理论电影国产精品| 国产亚洲美州欧州综合国| 99亚偷拍自图区亚洲| 亚洲成人午夜电影| 欧美zozozo| 9i在线看片成人免费| 亚洲高清三级视频| 欧美一区二区三级| 成人黄色av网站在线| 亚洲不卡在线观看| 久久精品一级爱片| 日本高清不卡aⅴ免费网站| 日韩激情av在线| 国产欧美精品一区| 欧美日韩国产综合草草| 蜜桃av一区二区| 国产精品福利电影一区二区三区四区| 色婷婷狠狠综合| 麻豆91小视频| 亚洲欧美日韩国产手机在线| 在线播放中文一区| 成人福利视频在线看| 午夜精品久久久久| 国产精品美女久久久久久久网站| 欧美三级日韩在线| 国产成人免费高清| 亚洲成人资源网| 国产精品欧美一区二区三区| 欧美日韩国产高清一区二区| 国产综合久久久久久鬼色 | 免费高清视频精品| 亚洲免费在线看| 久久综合九色综合97婷婷| 91麻豆6部合集magnet| 久久99最新地址| 日韩电影免费一区| 亚洲激情图片小说视频| 国产欧美日韩激情| 丁香六月久久综合狠狠色| 五月婷婷激情综合网| 亚洲欧洲美洲综合色网| 日韩免费视频线观看| 欧美影院午夜播放| 成人免费毛片a| 狠狠色丁香婷婷综合久久片| 亚洲va韩国va欧美va| 亚洲天堂免费在线观看视频| 国产亚洲欧美日韩在线一区| 日韩片之四级片| 欧美卡1卡2卡| 精品视频在线免费看| 欧美在线影院一区二区| 色婷婷狠狠综合| 91在线精品一区二区| 成人黄色综合网站| 国产精品中文欧美| 精品一区二区精品| 免费一级欧美片在线观看| 亚洲成a人片综合在线| 一区二区三区中文字幕| 亚洲免费观看高清| 国产精品超碰97尤物18| 国产精品美女久久久久久久久久久| 精品国产麻豆免费人成网站| 欧美一区二区成人6969| 制服丝袜中文字幕亚洲| 日韩欧美一级二级三级久久久| 91麻豆精品91久久久久同性| 日韩免费高清视频| 26uuu欧美| 久久精品一区二区三区不卡| 国产精品色呦呦| 中文字幕亚洲一区二区va在线| 中文字幕日韩精品一区 | 日韩情涩欧美日韩视频| 欧美一区二区私人影院日本| 欧美一区二区三区思思人| 日韩一区二区三区电影在线观看| 欧美一区二区三区电影| 26uuu久久综合| 国产精品国产三级国产a | 天堂av在线一区| 久久99久国产精品黄毛片色诱| 国产91在线观看丝袜| 色综合久久99| 欧美精品乱码久久久久久按摩 | 精品一二三四区| 粉嫩aⅴ一区二区三区四区| 91一区二区在线| 欧美一区二区三区四区久久| 国产欧美一区二区精品性色超碰| 亚洲欧洲日本在线| 人人狠狠综合久久亚洲| 国产美女精品一区二区三区| 91女厕偷拍女厕偷拍高清| 777色狠狠一区二区三区| 久久综合久久综合亚洲| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 欧美国产激情二区三区| 亚洲欧美另类在线| 麻豆91在线看| 日本乱码高清不卡字幕| 久久综合资源网| 亚洲影视在线播放| 国产成人在线电影| 欧美在线|欧美| 国产精品久久午夜夜伦鲁鲁| 免费观看在线色综合|