亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

應用層 加載驅動 和 卸載驅動代碼

2019-11-14 12:57:44
字體:
來源:轉載
供稿:網友
BOOL LoadDriver(char* lpszDriverName,char* lpszDriverPath){    char szDriverImagePath[256] = {0};    //得到完整的驅動路徑    GetFullPathName(lpszDriverPath, 256, szDriverImagePath, NULL);    BOOL bRet = FALSE;    SC_HANDLE hServiceMgr=NULL;//SCM管理器的句柄    SC_HANDLE hServiceDDK=NULL;//NT驅動程序的服務句柄    //打開服務控制管理器    hServiceMgr = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_access );    if( hServiceMgr == NULL )      {        //OpenSCManager失敗        PRintf( "OpenSCManager() Faild %d ! /n", GetLastError() );        bRet = FALSE;        goto BeforeLeave;    }    else    {        //OpenSCManager成功        printf( "OpenSCManager() ok ! /n" );      }    //創建驅動所對應的服務    hServiceDDK = CreateService( hServiceMgr,        lpszDriverName, //驅動程序的在注冊表中的名字          lpszDriverName, // 注冊表驅動程序的 DisplayName 值          SERVICE_ALL_ACCESS, // 加載驅動程序的訪問權限          SERVICE_KERNEL_DRIVER,// 表示加載的服務是驅動程序          SERVICE_DEMAND_START, // 注冊表驅動程序的 Start 值          SERVICE_ERROR_IGNORE, // 注冊表驅動程序的 ErrorControl 值          szDriverImagePath, // 注冊表驅動程序的 ImagePath 值          NULL,  //GroupOrder HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/GroupOrderList        NULL,          NULL,          NULL,          NULL);      DWord dwRtn;    //判斷服務是否失敗    if( hServiceDDK == NULL )      {          dwRtn = GetLastError();        if( dwRtn != ERROR_IO_PENDING && dwRtn != ERROR_SERVICE_EXISTS )          {              //由于其他原因創建服務失敗            printf( "CrateService() Faild %d ! /n", dwRtn );              bRet = FALSE;            goto BeforeLeave;        }          else          {            //服務創建失敗,是由于服務已經創立過            printf( "CrateService() Faild Service is ERROR_IO_PENDING or ERROR_SERVICE_EXISTS! /n" );          }        // 驅動程序已經加載,只需要打開          hServiceDDK = OpenService( hServiceMgr, lpszDriverName, SERVICE_ALL_ACCESS );          if( hServiceDDK == NULL )          {            //如果打開服務也失敗,則意味錯誤            dwRtn = GetLastError();              printf( "OpenService() Faild %d ! /n", dwRtn );              bRet = FALSE;            goto BeforeLeave;        }          else         {            printf( "OpenService() ok ! /n" );        }    }      else      {        printf( "CrateService() ok ! /n" );    }    //開啟此項服務    bRet= StartService( hServiceDDK, NULL, NULL );      if( !bRet )      {          DWORD dwRtn = GetLastError();          if( dwRtn != ERROR_IO_PENDING && dwRtn != ERROR_SERVICE_ALREADY_RUNNING )          {              printf( "StartService() Faild %d ! /n", dwRtn );              bRet = FALSE;            goto BeforeLeave;        }          else          {              if( dwRtn == ERROR_IO_PENDING )              {                  //設備被掛住                printf( "StartService() Faild ERROR_IO_PENDING ! /n");                bRet = FALSE;                goto BeforeLeave;            }              else              {                  //服務已經開啟                printf( "StartService() Faild ERROR_SERVICE_ALREADY_RUNNING ! /n");                bRet = TRUE;                goto BeforeLeave;            }          }      }    bRet = TRUE;//離開前關閉句柄BeforeLeave:    if(hServiceDDK)    {        CloseServiceHandle(hServiceDDK);    }    if(hServiceMgr)    {        CloseServiceHandle(hServiceMgr);    }    return bRet;}//卸載驅動程序BOOL UnloadDriver( char * szSvrName )  {    BOOL bRet = FALSE;    SC_HANDLE hServiceMgr=NULL;//SCM管理器的句柄    SC_HANDLE hServiceDDK=NULL;//NT驅動程序的服務句柄    SERVICE_STATUS SvrSta;    //打開SCM管理器    hServiceMgr = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );      if( hServiceMgr == NULL )      {        //帶開SCM管理器失敗        printf( "OpenSCManager() Faild %d ! /n", GetLastError() );          bRet = FALSE;        goto BeforeLeave;    }      else      {        //帶開SCM管理器失敗成功        printf( "OpenSCManager() ok ! /n" );      }    //打開驅動所對應的服務    hServiceDDK = OpenService( hServiceMgr, szSvrName, SERVICE_ALL_ACCESS );      if( hServiceDDK == NULL )      {        //打開驅動所對應的服務失敗        printf( "OpenService() Faild %d ! /n", GetLastError() );          bRet = FALSE;        goto BeforeLeave;    }      else      {          printf( "OpenService() ok ! /n" );      }      //停止驅動程序,如果停止失敗,只有重新啟動才能,再動態加載。      if( !ControlService( hServiceDDK, SERVICE_CONTROL_STOP , &SvrSta ) )      {          printf( "ControlService() Faild %d !/n", GetLastError() );      }      else      {        //打開驅動所對應的失敗        printf( "ControlService() ok !/n" );      }      //動態卸載驅動程序。      if( !DeleteService( hServiceDDK ) )      {        //卸載失敗        printf( "DeleteSrevice() Faild %d !/n", GetLastError() );      }      else      {          //卸載成功        printf( "DelServer:deleteSrevice() ok !/n" );      }      bRet = TRUE;BeforeLeave://離開前關閉打開的句柄    if(hServiceDDK)    {        CloseServiceHandle(hServiceDDK);    }    if(hServiceMgr)    {        CloseServiceHandle(hServiceMgr);    }    return bRet;    }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲自拍小视频免费观看| 麻豆国产精品va在线观看不卡| 欧美巨乳美女视频| 亚洲国产精品视频在线观看| 92裸体在线视频网站| 久久久久久久成人| 欧美中文字幕在线| 中文字幕v亚洲ⅴv天堂| 97超碰色婷婷| 亚洲精品自在久久| 91精品国产色综合久久不卡98口| 久久久国产91| 亚洲电影免费观看高清完整版在线| 亚洲日本aⅴ片在线观看香蕉| 日本精品免费观看| 久久久久久久久久久久av| 97精品国产aⅴ7777| 91av福利视频| 欧美日韩国产一区在线| 国产精品女人久久久久久| 国产精品成人v| 欧美日韩精品在线| 中文精品99久久国产香蕉| 欧美国产视频一区二区| 欧美黄色片视频| 欧美巨猛xxxx猛交黑人97人| 中文字幕精品在线视频| 久久久精品欧美| 亚洲精品动漫久久久久| 91精品国产网站| 国产精品日韩在线播放| 成人97在线观看视频| 一区二区三区久久精品| 久久久精品国产网站| 91tv亚洲精品香蕉国产一区7ujn| 精品国产区一区二区三区在线观看| 国产精品一区二区三区毛片淫片| 久久久亚洲国产| 国内精品模特av私拍在线观看| 国产精品久久久| 91福利视频在线观看| 日韩av三级在线观看| 在线观看中文字幕亚洲| 91免费版网站入口| 日韩av在线免费观看| 久久久久久国产免费| 亚洲精品自拍偷拍| 日韩av免费看网站| 欧美日韩激情网| 国产欧美韩国高清| 亚洲视频综合网| 日韩成人激情视频| 亚洲欧美中文日韩在线| 国产乱肥老妇国产一区二| 91av视频在线观看| 日本欧美一二三区| 久久99热精品| 国产午夜精品视频免费不卡69堂| 91手机视频在线观看| 欧美日韩一区二区三区| 91sao在线观看国产| 国产精品久久久久7777婷婷| 色婷婷av一区二区三区久久| 欧美成人中文字幕| 久久久久99精品久久久久| 色yeye香蕉凹凸一区二区av| 欧美成人午夜激情在线| 欧美性xxxx极品hd满灌| 精品国产乱码久久久久久虫虫漫画| 国产成人免费av| 国产91精品久久久久| 欧美日韩高清区| 国产做受69高潮| 亚洲欧美日韩综合| 日本在线观看天堂男亚洲| 欧美另类老肥妇| 两个人的视频www国产精品| 91精品国产成人www| 国产极品精品在线观看| 91亚洲午夜在线| 一区二区三区动漫| 欧美又大粗又爽又黄大片视频| 精品亚洲男同gayvideo网站| 久久久久久18| 久久成人在线视频| 精品无人国产偷自产在线| 精品福利免费观看| 国产精品日韩电影| 国产成人鲁鲁免费视频a| 国产精品av网站| 亚洲成人久久久久| 国产成人亚洲综合青青| 性欧美办公室18xxxxhd| 欧美一性一乱一交一视频| 97视频在线观看视频免费视频| 欧美黄色片在线观看| 97av在线视频免费播放| 日韩av电影手机在线| 中文字幕国产精品久久| 国产精品精品久久久久久| 亚洲精品www| 日韩一中文字幕| 亚洲精品中文字幕有码专区| 国产精品美女久久久久av超清| 成人性生交大片免费观看嘿嘿视频| 国内精品模特av私拍在线观看| 日韩精品视频在线观看网址| 欧美性生活大片免费观看网址| 日韩欧美在线第一页| 精品久久久中文| 国产69精品久久久久久| 高跟丝袜一区二区三区| 国内精品中文字幕| 欧美日韩一区二区精品| 国产91久久婷婷一区二区| 欧美激情久久久| 国产精品69精品一区二区三区| 亚洲成色777777女色窝| 久久国产精品99国产精| 欧美贵妇videos办公室| 久久久国产成人精品| 555www成人网| 国产精品美乳一区二区免费| 欧美精品18videosex性欧美| 欧美性猛交xxxx免费看漫画| 久久99久久99精品中文字幕| 中文字幕亚洲无线码a| 日韩av在线导航| 欧美疯狂xxxx大交乱88av| 国产成人高潮免费观看精品| 久久在线观看视频| 亚洲国产成人在线视频| 中文字幕日韩精品在线| 亚洲性夜色噜噜噜7777| 91在线精品播放| 国产精品亚洲综合天堂夜夜| 亚洲成人网久久久| 日韩精品中文字幕视频在线| 国产色婷婷国产综合在线理论片a| 久久久久久12| 青青精品视频播放| 精品国内产的精品视频在线观看| 欧美在线激情网| 精品亚洲一区二区三区在线播放| 久久手机免费视频| 不卡av电影院| 欧美日韩精品在线| 不卡av在线播放| 成人黄色影片在线| 亚洲jizzjizz日本少妇| 5252色成人免费视频| 精品福利在线视频| 亚洲视频在线观看免费| 91精品国产91| 中文字幕国产亚洲| 亚洲男人的天堂网站| 欧美重口另类videos人妖| 欧美黑人巨大精品一区二区| 精品福利在线视频| 欧美巨猛xxxx猛交黑人97人| 日韩精品日韩在线观看| 久久精品色欧美aⅴ一区二区| 一区二区日韩精品| 国产香蕉97碰碰久久人人|