锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品久久久无码中文字幕,欧美精品乱码99久久蜜桃,久久国产香蕉一区精品http://www.shnenglu.com/vfdff/zh-cnWed, 07 May 2025 14:55:01 GMTWed, 07 May 2025 14:55:01 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)鍔犺澆椹卞姩錛岀敤瀹屼簡void uninstallDriver(void)鍗歌澆銆備嬌鐢ㄦ椂榪橀渶鑷繁淇敼錛屼唬鐮佷笉闅撅紝鐪嬩笅灝辨槑鐧戒簡銆?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.zqyipin.cn" target="_blank">精品久久久久久</a>| <a href="http://www.bukrrlg.cn" target="_blank">无码人妻少妇久久中文字幕 </a>| <a href="http://www.00dh.cn" target="_blank">久久婷婷五月综合国产尤物app</a>| <a href="http://www.dashi1.cn" target="_blank">精品国产VA久久久久久久冰</a>| <a href="http://www.homeshining.com.cn" target="_blank">人人狠狠综合久久亚洲婷婷</a>| <a href="http://www.jiansuj.cn" target="_blank">国产99久久久国产精品小说</a>| <a href="http://www.lar6ge.cn" target="_blank">日本免费一区二区久久人人澡</a>| <a href="http://www.fuzd88.cn" target="_blank">欧美激情精品久久久久</a>| <a href="http://www.youarecharming.cn" target="_blank">97久久精品人人澡人人爽</a>| <a href="http://www.dw172.cn" target="_blank">www性久久久com</a>| <a href="http://www.zuiaimama.cn" target="_blank">久久成人国产精品一区二区</a>| <a href="http://www.xford.cn" target="_blank">久久福利青草精品资源站</a>| <a href="http://www.gynp.net.cn" target="_blank">亚洲精品WWW久久久久久</a>| <a href="http://www.mmexse.cn" target="_blank">久久人人爽人人爽人人片AV麻豆</a>| <a href="http://www.dafa888da.cn" target="_blank">99国产欧美久久久精品蜜芽</a>| <a href="http://www.92dyy.cn" target="_blank">精品综合久久久久久97</a>| <a href="http://www.sem588.cn" target="_blank">青青草原综合久久大伊人</a>| <a href="http://www.witvb.cn" target="_blank">国产精品一久久香蕉国产线看观看</a>| <a href="http://www.airesou.cn" target="_blank">91精品婷婷国产综合久久</a>| <a href="http://www.mingxiao123.cn" target="_blank">亚洲AV无码久久</a>| <a href="http://www.beijianyi.cn" target="_blank">少妇久久久久久久久久</a>| <a href="http://www.88354.com.cn" target="_blank">久久99精品久久久久久噜噜 </a>| <a href="http://www.yangfenghua.cn" target="_blank">亚洲а∨天堂久久精品9966</a>| <a href="http://www.qsstudio.cn" target="_blank">久久婷婷五月综合国产尤物app</a>| <a href="http://www.zjjunyao.cn" target="_blank">久久国产免费</a>| <a href="http://www.aoshidun.com.cn" target="_blank">色婷婷久久久SWAG精品</a>| <a href="http://www.study1.cn" target="_blank">久久国产成人精品麻豆</a>| <a href="http://www.autothink.com.cn" target="_blank">99久久精品国产一区二区</a>| <a href="http://www.ciidc.org.cn" target="_blank">日日噜噜夜夜狠狠久久丁香五月</a>| <a href="http://www.dafa888da.cn" target="_blank">7国产欧美日韩综合天堂中文久久久久</a>| <a href="http://www.sglshoes.cn" target="_blank">亚洲精品乱码久久久久久蜜桃图片 </a>| <a href="http://www.zhxjk.cn" target="_blank">国产综合免费精品久久久</a>| <a href="http://www.hzmgdj.com.cn" target="_blank">国内精品久久久久影院一蜜桃 </a>| <a href="http://www.z2023.cn" target="_blank">99久久无码一区人妻</a>| <a href="http://www.jiehuchong.cn" target="_blank">久久国产免费观看精品3</a>| <a href="http://www.cxdsj.net.cn" target="_blank">久久99精品国产一区二区三区</a>| <a href="http://www.zyhyhz.cn" target="_blank">久久精品日日躁夜夜躁欧美</a>| <a href="http://www.vyty.cn" target="_blank">亚洲人成无码www久久久</a>| <a href="http://www.kexuncms.cn" target="_blank">久久亚洲欧洲国产综合</a>| <a href="http://www.520menghuan.cn" target="_blank">久久涩综合</a>| <a href="http://www.wxpie.cn" target="_blank">亚洲中文字幕无码久久2017</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>