锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲日产国码无码久久99,国产精品免费久久久久电影网,99精品国产综合久久久久五月天http://www.shnenglu.com/vfdff/category/6864.htmlzh-cnSat, 21 Nov 2020 06:20:24 GMTSat, 21 Nov 2020 06:20:24 GMT60C++涓殑mutable鍜寁olatilehttp://www.shnenglu.com/vfdff/archive/2020/11/21/217512.htmlvfdffvfdffSat, 21 Nov 2020 03:25:00 GMThttp://www.shnenglu.com/vfdff/archive/2020/11/21/217512.htmlhttp://www.shnenglu.com/vfdff/comments/217512.htmlhttp://www.shnenglu.com/vfdff/archive/2020/11/21/217512.html#Feedback0http://www.shnenglu.com/vfdff/comments/commentRss/217512.htmlhttp://www.shnenglu.com/vfdff/services/trackbacks/217512.html

vfdff 2020-11-21 11:25 鍙戣〃璇勮
]]>
VC涓姞杞介┍鍔ㄧ▼搴?/title><link>http://www.shnenglu.com/vfdff/archive/2008/09/20/VC_driver_program.html</link><dc:creator>vfdff</dc:creator><author>vfdff</author><pubDate>Sat, 20 Sep 2008 09:38:00 GMT</pubDate><guid>http://www.shnenglu.com/vfdff/archive/2008/09/20/VC_driver_program.html</guid><wfw:comment>http://www.shnenglu.com/vfdff/comments/62358.html</wfw:comment><comments>http://www.shnenglu.com/vfdff/archive/2008/09/20/VC_driver_program.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/vfdff/comments/commentRss/62358.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vfdff/services/trackbacks/62358.html</trackback:ping><description><![CDATA[浠嶬ProcCheck鐨勪唬鐮侀噷鎻愬彇鍑烘潵鐨勶紝涓嶇敤瀹夎椹卞姩紼嬪簭錛岃嚜宸辯殑紼嬪簭閲岃鐢ㄧ殑鏃跺欑敤HANDLE openDriver(void)鍔犺澆椹卞姩錛岀敤瀹屼簡(jiǎn)void uninstallDriver(void)鍗歌澆銆備嬌鐢ㄦ椂榪橀渶鑷繁淇敼錛屼唬鐮佷笉闅撅紝鐪嬩笅灝辨槑鐧戒簡(jiǎn)銆?br><br><br>浠g爜濡備笅錛?br><br>//HANDLE openDriver(void)鎵撳紑椹卞姩寤虹珛鐨勭鍙烽摼鎺ョ殑鍙ユ焺<br>//void uninstallDriver(void)鍗歌澆椹卞姩錛岃鎶妎penDriver鎵撳紑鐨勫彞鏌勫叧闂墠鍙互鎴愬姛鍗歌澆<br><br>#include <windows.h><br><br>#define DRV_NAME      "DLPORTIO"http://椹卞姩鍚?br>#define DRV_FILENAME     "DLPORTIO.sys"http://椹卞姩鏂囦歡<br><br>#define STATUS_SUCCESS     ((NTSTATUS)0x00000000L)<br><br><br>typedef LONG NTSTATUS;<br><br>typedef struct _STRING {<br>  USHORT  Length;<br>  USHORT  MaximumLength;<br>  PCHAR  Buffer;<br>} ANSI_STRING, *PANSI_STRING;<br><br>typedef struct _UNICODE_STRING {<br>  USHORT  Length;<br>  USHORT  MaximumLength;<br>  PWSTR  Buffer;<br>} UNICODE_STRING, *PUNICODE_STRING;<br><br>//*********************************************************************************************<br>// Assign loaddriver priviledge to our process, so we can load our support driver.<br>//<br>//*********************************************************************************************<br><br>BOOL getLoadDriverPriv()<br>{<br> HANDLE hToken;<br><br> if(OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &hToken))<br> {<br>  LUID huid;<br>  if(LookupPrivilegeValue(NULL, "SeLoadDriverPrivilege", &huid))<br>  {<br>   LUID_AND_ATTRIBUTES priv;<br>   priv.Attributes = SE_PRIVILEGE_ENABLED;<br>   priv.Luid = huid;<br><br>   TOKEN_PRIVILEGES tp;<br>   tp.PrivilegeCount = 1;<br>   tp.Privileges[0] = priv;<br><br>   if(AdjustTokenPrivileges(hToken, FALSE, &tp, 0, NULL, NULL))<br>   {<br>    return TRUE;<br>   }<br>  }<br> }<br> return FALSE;<br>}<br><br><br>//*********************************************************************************************<br>// Sets up the necessary registry settings to load the support driver<br>//<br>//*********************************************************************************************<br><br>BOOL setupRegistry()<br>{<br> HKEY hkey;<br> if(RegCreateKey(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\"DRV_NAME, &hkey) != ERROR_SUCCESS)<br>  return FALSE;<br><br> DWORD val;<br> val = 1;<br> if(RegSetValueEx(hkey, "Type", 0, REG_DWORD, (PBYTE)&val, sizeof(val)) != ERROR_SUCCESS)<br>  return FALSE;<br><br> if(RegSetValueEx(hkey, "ErrorControl", 0, REG_DWORD, (PBYTE)&val, sizeof(val)) != ERROR_SUCCESS)<br>  return FALSE;<br> <br> val = 3;<br> if(RegSetValueEx(hkey, "Start", 0, REG_DWORD, (PBYTE)&val, sizeof(val)) != ERROR_SUCCESS)<br>  return FALSE;<br><br> char *imgName = "System32\DRIVERS\"DRV_FILENAME;<br> <br> if(RegSetValueEx(hkey, "ImagePath", 0, REG_EXPAND_SZ, (PBYTE)imgName, strlen(imgName)) != ERROR_SUCCESS)<br>  return FALSE;<br><br> return TRUE;<br>}<br><br><br>//*********************************************************************************************<br>// Actual code to load our driver into memory<br>//<br>//*********************************************************************************************<br><br>BOOL loadDriver()<br>{<br> // call ntdll APIs<br> HMODULE hntdll;<br><br> NTSTATUS (WINAPI *_RtlAnsiStringToUnicodeString)(PUNICODE_STRING  DestinationString,IN PANSI_STRING  SourceString,IN <br><br>BOOLEAN);<br><br> VOID (WINAPI *_RtlInitAnsiString)<br>  (IN OUT PANSI_STRING  DestinationString,<br>   IN PCHAR  SourceString);<br><br> NTSTATUS (WINAPI * _ZwLoadDriver)<br>  (IN PUNICODE_STRING DriverServiceName);<br><br> NTSTATUS (WINAPI * _ZwUnloadDriver)<br>  (IN PUNICODE_STRING DriverServiceName);<br><br> VOID (WINAPI * _RtlFreeUnicodeString)<br>  (IN PUNICODE_STRING  UnicodeString);<br><br><br> hntdll = GetModuleHandle("ntdll.dll");<br>   <br> *(FARPROC *)&_ZwLoadDriver = GetProcAddress(hntdll, "NtLoadDriver");<br><br> *(FARPROC *)&_ZwUnloadDriver = GetProcAddress(hntdll, "NtUnloadDriver");<br>    <br> *(FARPROC *)&_RtlAnsiStringToUnicodeString = <br>   GetProcAddress(hntdll, "RtlAnsiStringToUnicodeString");<br><br> *(FARPROC *)&_RtlInitAnsiString = <br>   GetProcAddress(hntdll, "RtlInitAnsiString");<br><br> *(FARPROC *)&_RtlFreeUnicodeString = <br>   GetProcAddress(hntdll, "RtlFreeUnicodeString");<br><br> if(_ZwLoadDriver && _ZwUnloadDriver && _RtlAnsiStringToUnicodeString &&<br>    _RtlInitAnsiString && _RtlFreeUnicodeString)<br> {<br>  ANSI_STRING aStr;<br>  <br>  _RtlInitAnsiString(&aStr, <br>  "\Registry\Machine\System\CurrentControlSet\Services\"DRV_NAME);<br>      <br>  UNICODE_STRING uStr;<br><br>  if(_RtlAnsiStringToUnicodeString(&uStr, &aStr, TRUE) != STATUS_SUCCESS)<br>   return FALSE;<br>  else<br>  {<br>   if(_ZwLoadDriver(&uStr) == STATUS_SUCCESS)<br>   {<br>    _RtlFreeUnicodeString(&uStr);<br>    return TRUE;<br>   }<br>   _RtlFreeUnicodeString(&uStr);<br>  }<br> }<br><br> return FALSE;<br>}<br><br><br>//*********************************************************************************************<br>// Actual code to remove our driver from memory<br>//<br>//*********************************************************************************************<br><br>BOOL unloadDriver()<br>{<br> // call ntdll APIs<br> HMODULE hntdll;<br> NTSTATUS (WINAPI * _RtlAnsiStringToUnicodeString)<br>  (PUNICODE_STRING  DestinationString,<br>   IN PANSI_STRING  SourceString,<br>   IN BOOLEAN);<br><br> VOID (WINAPI *_RtlInitAnsiString)<br>  (IN OUT PANSI_STRING  DestinationString,<br>   IN PCHAR  SourceString);<br><br> NTSTATUS (WINAPI * _ZwLoadDriver)<br>  (IN PUNICODE_STRING DriverServiceName);<br><br> NTSTATUS (WINAPI * _ZwUnloadDriver)<br>  (IN PUNICODE_STRING DriverServiceName);<br><br> VOID (WINAPI * _RtlFreeUnicodeString)<br>  (IN PUNICODE_STRING  UnicodeString);<br><br><br> hntdll = GetModuleHandle("ntdll.dll");<br>   <br> *(FARPROC *)&_ZwLoadDriver = GetProcAddress(hntdll, "NtLoadDriver");<br><br> *(FARPROC *)&_ZwUnloadDriver = GetProcAddress(hntdll, "NtUnloadDriver");<br>    <br> *(FARPROC *)&_RtlAnsiStringToUnicodeString = <br>   GetProcAddress(hntdll, "RtlAnsiStringToUnicodeString");<br><br> *(FARPROC *)&_RtlInitAnsiString = <br>   GetProcAddress(hntdll, "RtlInitAnsiString");<br><br> *(FARPROC *)&_RtlFreeUnicodeString = <br>   GetProcAddress(hntdll, "RtlFreeUnicodeString");<br><br> if(_ZwLoadDriver && _ZwUnloadDriver && _RtlAnsiStringToUnicodeString &&<br>    _RtlInitAnsiString && _RtlFreeUnicodeString)<br> {<br>  ANSI_STRING aStr;<br>  <br>  _RtlInitAnsiString(&aStr, <br>  "\Registry\Machine\System\CurrentControlSet\Services\"DRV_NAME);<br>      <br>  UNICODE_STRING uStr;<br><br>  if(_RtlAnsiStringToUnicodeString(&uStr, &aStr, TRUE) != STATUS_SUCCESS)<br>   return FALSE;<br>  else<br>  {<br>   if(_ZwUnloadDriver(&uStr) == STATUS_SUCCESS)<br>   {<br>    _RtlFreeUnicodeString(&uStr);<br>    return TRUE;<br>   }<br>   _RtlFreeUnicodeString(&uStr);<br>  }<br> }<br><br> return FALSE;<br>}<br><br><br>//*********************************************************************************************<br>// Removes our driver file and registry settings<br>//<br>//*********************************************************************************************<br><br>void cleanupDriver(void)<br>{<br> char sysDir[MAX_PATH + 1];<br> GetSystemDirectory(sysDir, MAX_PATH);<br> strncat(sysDir, "\drivers\"DRV_FILENAME, MAX_PATH);<br> DeleteFile(sysDir);<br><br> RegDeleteKey(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\"DRV_NAME"\Enum");<br> RegDeleteKey(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\"DRV_NAME);<br>}<br><br><br>//*********************************************************************************************<br>// Attempts to get a handle to our kernel driver.  If fails, try to install the driver.<br>//<br>//*********************************************************************************************<br><br>HANDLE openDriver(void)<br>{<br> HANDLE hDevice;<br> //CreateFile鎵撳紑椹卞姩寤虹珛鐨勭鍙烽摼鎺ワ紝寰楁牴鎹┍鍔ㄤ腑寤虹珛鐨勫悕瀛楁洿鏀?br> hDevice = CreateFile("\\.\"DRV_NAME, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,<br>          NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);<br><br> if(hDevice == INVALID_HANDLE_VALUE)<br> {  <br>  char drvFullPath[MAX_PATH+1];<br>  char *filePart;<br><br>  ZeroMemory(drvFullPath, MAX_PATH);  <br>  GetFullPathName(DRV_FILENAME, MAX_PATH, drvFullPath, &filePart);<br>  <br>  //printf("%s ", drvFullPath);<br>  HANDLE hFile = CreateFile(drvFullPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,<br>         FILE_ATTRIBUTE_NORMAL, 0);<br>  if(hFile == INVALID_HANDLE_VALUE)<br>  {<br>   //printf("Cannot find required driver file %s ", drvFullPath);<br>   AfxMessageBox("Cannot find required driver file");<br>   return INVALID_HANDLE_VALUE;<br>  }<br>  else<br>  {<br>   CloseHandle(hFile);<br><br>   char sysDir[MAX_PATH + 1];<br>   GetSystemDirectory(sysDir, MAX_PATH);<br>   strncat(sysDir, "\drivers\"DRV_FILENAME, MAX_PATH);<br>   CopyFile(drvFullPath, sysDir, TRUE);<br><br>   if(!getLoadDriverPriv())<br>   {<br>    //printf("Error getting load driver privilege! ");<br>    AfxMessageBox("Error getting load driver privilege! ");<br>   }<br>   else<br>   {<br>    if(!setupRegistry())<br>    {<br>     //printf("Error setting driver registry keys! Make sure you are running this as <br><br>Administrator. ");<br>     AfxMessageBox("Error setting driver registry keys! Make sure you are running this as <br><br>Administrator. ");<br>    }<br>    else<br>    {<br>     loadDriver();<br>     hDevice = CreateFile("\\.\"DRV_NAME, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ <br><br>| FILE_SHARE_WRITE,<br>          NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);<br>     if(hDevice == INVALID_HANDLE_VALUE)<br>     {<br>      //printf("Error loading kernel support driver! Make sure you are running <br><br>this as Administrator. ");<br>      AfxMessageBox("Error loading kernel support driver! Make sure you are <br><br>running this as Administrator. ");<br>     }<br>     else<br>     {<br>      AfxMessageBox("loading kernel support driver success");<br>     }<br>    }<br>   }<br>   cleanupDriver();<br>  }<br> }<br> <br> return hDevice;<br>}<br><br><br>//*********************************************************************************************<br>// Remove our kernel driver from memory<br>//<br>//*********************************************************************************************<br><br>void uninstallDriver(void)<br>{<br> char drvFullPath[MAX_PATH+1];<br> char *filePart;<br><br> ZeroMemory(drvFullPath, MAX_PATH);  <br> GetFullPathName(DRV_FILENAME, MAX_PATH, drvFullPath, &filePart);<br><br> HANDLE hFile = CreateFile(drvFullPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,<br>        FILE_ATTRIBUTE_NORMAL, 0);<br> if(hFile == INVALID_HANDLE_VALUE)<br> {<br>  //printf("Cannot find required driver file %s ", drvFullPath);<br>  AfxMessageBox("Cannot find required driver file ");<br>  return;<br> }<br> else<br> {<br>  CloseHandle(hFile);<br><br>  char sysDir[MAX_PATH + 1];<br>  GetSystemDirectory(sysDir, MAX_PATH);<br>  strncat(sysDir, "\drivers\"DRV_FILENAME, MAX_PATH);<br>  CopyFile(drvFullPath, sysDir, TRUE);<br><br>  if(!getLoadDriverPriv())<br>  {<br>   //printf("Error getting load driver privilege! ");<br>   AfxMessageBox("Error getting load driver privilege! ");<br>  }<br>  else<br>  {<br>   if(!setupRegistry())<br>   {<br>    //printf("Error setting driver registry keys! Make sure you are running this as <br><br>Administrator. ");<br>    AfxMessageBox("Error setting driver registry keys! Make sure you are running this as <br><br>Administrator. ");<br>   }<br>   else<br>   {<br>    if(unloadDriver())<br>     //printf("Support driver successfully unloaded. ");<br>     AfxMessageBox("Support driver successfully unloaded. ");<br>    else<br>     //printf("Unload support driver failed.  It is probably not loaded. ");<br>     AfxMessageBox("Unload support driver failed.  It is probably not loaded. ");<br>   }<br>  }<br>  cleanupDriver();<br> }<br>}<br><br><br><br><img src ="http://www.shnenglu.com/vfdff/aggbug/62358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vfdff/" target="_blank">vfdff</a> 2008-09-20 17:38 <a href="http://www.shnenglu.com/vfdff/archive/2008/09/20/VC_driver_program.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.ruannews.com.cn" target="_blank">久久婷婷五月综合成人D啪</a>| <a href="http://www.ed34.cn" target="_blank">青青草原精品99久久精品66</a>| <a href="http://www.hjpz333.cn" target="_blank">91久久九九无码成人网站</a>| <a href="http://www.hfko.cn" target="_blank">91精品国产91久久久久久青草</a>| <a href="http://www.rigemei.cn" target="_blank">久久亚洲国产午夜精品理论片</a>| <a href="http://www.baotourcw.cn" target="_blank">久久成人精品</a>| <a href="http://www.hohong.com.cn" target="_blank">久久精品国产AV一区二区三区</a>| <a href="http://www.fsxslvs.cn" target="_blank">av无码久久久久久不卡网站</a>| <a href="http://www.lsdkgoio8843.cn" target="_blank">国产激情久久久久影院小草</a>| <a href="http://www.qrcj.net.cn" target="_blank">国产成人综合久久精品红</a>| <a href="http://www.mir802.cn" target="_blank">精品久久久久久无码专区 </a>| <a href="http://www.nbtutor.cn" target="_blank">久久久久综合中文字幕</a>| <a href="http://www.yayalove.cn" target="_blank">人妻无码αv中文字幕久久琪琪布</a>| <a href="http://www.b5ezt1.cn" target="_blank">久久精品蜜芽亚洲国产AV</a>| <a href="http://www.837666.cn" target="_blank">久久精品无码av</a>| <a href="http://www.v711.cn" target="_blank">久久久久久狠狠丁香</a>| <a href="http://www.gzyucai.cn" target="_blank">99久久精品国产一区二区</a>| <a href="http://www.dishengbao.cn" target="_blank">免费观看成人久久网免费观看</a>| <a href="http://www.xggppz8.cn" target="_blank">久久亚洲精品无码VA大香大香</a>| <a href="http://www.auto-insurance.cn" target="_blank">国产成人久久精品区一区二区</a>| <a href="http://www.oulihong.cn" target="_blank">中文字幕无码久久人妻</a>| <a href="http://www.jejf.cn" target="_blank">久久国产精品波多野结衣AV</a>| <a href="http://www.lingxiu98.com.cn" target="_blank">亚洲第一极品精品无码久久</a>| <a href="http://www.dghaishi.com.cn" target="_blank">久久人人爽人人精品视频</a>| <a href="http://www.szmry.cn" target="_blank">亚洲国产精品久久久久婷婷老年 </a>| <a href="http://www.gznfrc.com.cn" target="_blank">久久亚洲中文字幕精品一区</a>| <a href="http://www.softplat.cn" target="_blank">品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 </a>| <a href="http://www.sehinix.cn" target="_blank">久久精品国产99久久久香蕉</a>| <a href="http://www.68gz.cn" target="_blank">国产国产成人精品久久</a>| <a href="http://www.ywpc88.cn" target="_blank">亚洲精品乱码久久久久久中文字幕 </a>| <a href="http://www.ccgangjiegou.cn" target="_blank">国产精品内射久久久久欢欢</a>| <a href="http://www.v4169.cn" target="_blank">久久久精品2019免费观看</a>| <a href="http://www.xsdbw.cn" target="_blank">国产精品久久久久久久app</a>| <a href="http://www.xford.cn" target="_blank">久久亚洲国产成人影院网站</a>| <a href="http://www.dygdgs.cn" target="_blank">99精品久久久久久久婷婷</a>| <a href="http://www.xiaoneiweb.cn" target="_blank">狠狠色丁香婷婷久久综合不卡</a>| <a href="http://www.zhongtianhgjc.cn" target="_blank">亚洲综合日韩久久成人AV</a>| <a href="http://www.ygowj.cn" target="_blank">久久AV无码精品人妻糸列</a>| <a href="http://www.211228.cn" target="_blank">偷窥少妇久久久久久久久</a>| <a href="http://www.fanqiejidi.cn" target="_blank">亚洲精品午夜国产va久久</a>| <a href="http://www.dygdgs.cn" target="_blank">一本色综合久久</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>