mark一下:
寫了乙個簡單得類
後期會陸續新增其他兩種常用方法.
標頭檔案:
class driverloader
;
實現檔案:
// driverloader.cpp: implementation of the driverloader class.
////
#include "driverloader.h"
//// construction/destruction
//driverloader::driverloader(cstring path,cstring name)
driverloader::~driverloader()
bool driverloader::loadntdriverbyscm()
else
hservice = createservice( hmanager,
servicename,
servicename,
service_all_access,
service_kernel_driver,
service_demand_start,
service_error_ignore,
driverpath,
null,
null,
null,
null,
null );
dword dwrtn;
if( hservice == null )
else
//開啟服務
hservice = openservice( hmanager, servicename, service_all_access );
if( hservice == null )
else
}else
//開啟服務
bret = startservice( hservice, null, null);
if( !bret )
else
else
}} messagebox( null, "success", "startservice", mb_ok );
closeservicehandle( hmanager );
closeservicehandle( hservice );
return bret;
}bool driverloader::unloadntdriverbyscm()
else
//開啟服務
hservice = openservice( hmanager, servicename, service_all_access );
if( hservice == null )
else
//停止驅動
if( !controlservice( hservice,service_control_stop, &svrsta) )
else
//解除安裝服務
if( !deleteservice( hservice ) )
else
bret = true;
closeservicehandle( hmanager );
closeservicehandle( hservice );
return bret;
}
載入LSI驅動
如是是64位系統,則解壓其中的megaraid sas v00.00.04.37 k2.6.32 21 server.amd64.gz,得到megaraid sas v00.00.04.37 k2.6.32 21 server.amd64檔案,把這個檔案加上字尾.zip 再次解壓就會得到下面所用用到...
驅動 載入 解除安裝
載入過程 bool cloadsysdlg loaddriver lpctstr lpservicename,lpctstr lppathname sc createhanle createservice scmanagerhandle,lpservicename,用於建立登記資料庫中的關鍵字 lp...
驅動載入順序
在系統初始化的時候,決定驅動程式在什麼時候被載入的資訊儲存在登錄檔中。最早的一批驅動是由ntldr載入記憶體的 僅僅是載入 第二批是由io管理器載入記憶體的 第三批是由 scm service control manager 載入的 乙個驅動在第幾批中被載入是由 hklm system curren...