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

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

?? main.cpp

?? 驅動加載程序
?? CPP
字號:
#include <windows.h>  
#include <winsvc.h>  
#include <conio.h>  
#include <stdio.h>

#define DRIVER_NAME "HelloDDK"
#define DRIVER_PATH "..\\MyDriver\\MyDriver_Check\\HelloDDK.sys"

//裝載NT驅動程序
BOOL LoadNTDriver(char* lpszDriverName,char* lpszDriverPath)
{
	char szDriverImagePath[256];
	//得到完整的驅動路徑
	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,  
		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 UnloadNTDriver( 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:eleteSrevice() ok !\n" );  
	}  
	bRet = TRUE;
BeforeLeave:
//離開前關閉打開的句柄
	if(hServiceDDK)
	{
		CloseServiceHandle(hServiceDDK);
	}
	if(hServiceMgr)
	{
		CloseServiceHandle(hServiceMgr);
	}
	return bRet;	
} 

void TestDriver()
{
	//測試驅動程序  
	HANDLE hDevice = CreateFile("\\\\.\\HelloDDK",  
		GENERIC_WRITE | GENERIC_READ,  
		0,  
		NULL,  
		OPEN_EXISTING,  
		0,  
		NULL);  
	if( hDevice != INVALID_HANDLE_VALUE )  
	{
		printf( "Create Device ok ! \n" );  
	}
	else  
	{
		printf( "Create Device faild %d ! \n", GetLastError() );  
	}
	CloseHandle( hDevice );
} 

int main(int argc, char* argv[])  
{
	//加載驅動
	BOOL bRet = LoadNTDriver(DRIVER_NAME,DRIVER_PATH);
	if (!bRet)
	{
		printf("LoadNTDriver error\n");
		return 0;
	}
	//加載成功

	printf( "press any to create device!\n" );  
	getch();  

	TestDriver();

	//這時候你可以通過注冊表,或其他查看符號連接的軟件驗證。  
	printf( "press any to unload the driver!\n" );  
	getch();  

	//卸載驅動
	UnloadNTDriver(DRIVER_NAME);
	if (!bRet)
	{
		printf("UnloadNTDriver error\n");
		return 0;
	}

	return 0;  
}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩电影| 久久99精品久久久久| 日本在线不卡视频| 高清不卡在线观看| 欧美精品色综合| 国产精品色哟哟网站| 天天综合网天天综合色| 91免费精品国自产拍在线不卡| 日韩欧美在线1卡| 亚洲综合丁香婷婷六月香| 成人综合婷婷国产精品久久 | 午夜精品一区二区三区电影天堂| 国产精品自拍av| 日韩欧美国产精品| 婷婷久久综合九色综合绿巨人| 97se狠狠狠综合亚洲狠狠| 久久美女艺术照精彩视频福利播放 | 亚洲精品国产第一综合99久久 | 欧美日韩成人在线| 亚洲色图欧美在线| 成人污视频在线观看| 久久久国产精华| 国产自产v一区二区三区c| 欧美一级国产精品| 日韩成人免费在线| 欧美群妇大交群中文字幕| 亚洲一区在线视频观看| 色8久久人人97超碰香蕉987| 亚洲欧洲日本在线| 99久久精品国产麻豆演员表| 国产精品乱人伦| 99在线精品视频| 一区二区三区在线看| 色婷婷久久久亚洲一区二区三区| 1024国产精品| 欧洲亚洲精品在线| 亚洲午夜电影网| 制服丝袜av成人在线看| 日日夜夜一区二区| 精品日产卡一卡二卡麻豆| 国产在线麻豆精品观看| 亚洲国产精品成人综合 | 欧美久久久久免费| 午夜精品一区二区三区电影天堂| 亚洲欧洲成人自拍| 亚洲一区二区中文在线| 欧美日韩精品一区视频| 青青草国产精品亚洲专区无| 欧美一区二区成人6969| 九色porny丨国产精品| 国产性做久久久久久| 不卡一区在线观看| 亚洲成人自拍一区| 久久久午夜电影| 成人sese在线| 日日夜夜免费精品| 久久精品人人做人人综合 | 欧美人妖巨大在线| 看片网站欧美日韩| 中文一区二区完整视频在线观看| 99久久久久久99| 日韩电影在线一区二区| 久久久久久久久久电影| 欧日韩精品视频| 国产精品原创巨作av| 一卡二卡三卡日韩欧美| 精品成人a区在线观看| 91在线小视频| 久久精品国产亚洲一区二区三区| 中文字幕一区二区三区精华液| 欧美日韩久久一区二区| 懂色一区二区三区免费观看 | 国产凹凸在线观看一区二区| 亚洲欧美日韩久久精品| 精品久久久久久久久久久久久久久久久| 成人永久aaa| 美女视频网站黄色亚洲| 亚洲乱码中文字幕| 久久久精品国产99久久精品芒果| 欧美亚洲国产怡红院影院| 国产一区二区福利视频| 香蕉久久夜色精品国产使用方法| 国产日韩欧美精品在线| 日韩亚洲欧美中文三级| 欧美视频一区二区三区四区 | 麻豆精品蜜桃视频网站| 中文字幕欧美激情一区| 91精品国产综合久久蜜臀| 91在线一区二区| 国产91丝袜在线播放0| 麻豆免费看一区二区三区| 亚洲综合一二三区| 国产精品久久久久久久久搜平片 | 国产在线精品视频| 一区在线观看视频| 成人av在线播放网站| 久久不见久久见中文字幕免费| 亚洲电影在线免费观看| 中文字幕一区三区| 国产欧美日本一区二区三区| 精品处破学生在线二十三| 91精选在线观看| 91麻豆精品国产自产在线| 色综合久久久久| 99re热视频这里只精品| 欧美一级黄色大片| 色综合天天综合| 中文字幕av不卡| 色综合天天综合在线视频| 国产精选一区二区三区| 久久精品国产精品亚洲红杏| 午夜精品一区二区三区免费视频 | www激情久久| 日韩一级欧美一级| 欧美一卡在线观看| 日韩欧美中文字幕公布| 在线成人免费视频| 91精品国产综合久久福利软件 | 最新国产精品久久精品| 国产精品对白交换视频| 国产精品国产三级国产| 国产精品久久久久久久久快鸭| 中文av一区二区| 成人免费在线视频| 亚洲天堂精品在线观看| 亚洲国产一区二区在线播放| 亚洲成av人片一区二区梦乃 | 春色校园综合激情亚洲| 国产成人精品aa毛片| 972aa.com艺术欧美| 日本韩国精品在线| 制服丝袜亚洲网站| 国产午夜精品美女毛片视频| 中文字幕乱码亚洲精品一区| 中文字幕一区二区三区在线观看| 亚洲精品一二三区| 奇米影视一区二区三区| 国产乱人伦精品一区二区在线观看| 国产一区二区精品久久91| 99精品国产99久久久久久白柏| 欧美三片在线视频观看| 精品国产一区二区三区不卡| 国产精品丝袜黑色高跟| 伊人一区二区三区| 九九国产精品视频| 不卡电影一区二区三区| 欧美日韩不卡一区二区| 国产日产亚洲精品系列| 亚洲成在人线免费| 国产成人在线观看免费网站| 欧美主播一区二区三区美女| 日韩一级大片在线观看| 17c精品麻豆一区二区免费| 视频一区中文字幕| 91麻豆精品国产无毒不卡在线观看| 色伊人久久综合中文字幕| 日韩欧美一级精品久久| 国产精品美女www爽爽爽| 丝袜美腿亚洲色图| 不卡的电视剧免费网站有什么| 欧美日韩一区不卡| 国产女人18水真多18精品一级做 | 久久精品国产色蜜蜜麻豆| 成人黄色777网| 欧美一卡2卡3卡4卡| 亚洲女人的天堂| 国产精品一区二区三区网站| 欧美视频一区二区三区四区| 久久免费美女视频| 亚洲成人资源在线| 91丨porny丨蝌蚪视频| 欧美大白屁股肥臀xxxxxx| 一区二区三区精品| 国产成人av电影在线| 欧美一二三区精品| 日韩成人免费电影| av一区二区三区四区| 精品91自产拍在线观看一区| 亚洲一区二区三区在线看| 暴力调教一区二区三区| 欧美成va人片在线观看| 亚洲一区二区在线视频| 99久久久国产精品| 欧美激情一区二区三区全黄| 蜜桃91丨九色丨蝌蚪91桃色| 精品视频资源站| 国产精品第五页| 成人性色生活片| 久久久国际精品| 国产高清精品久久久久| 精品少妇一区二区三区日产乱码 | 亚洲啪啪综合av一区二区三区| 国产在线视频精品一区| 欧美sm极限捆绑bd| 精品在线一区二区三区| 欧美一区二区免费观在线| 蜜乳av一区二区| 久久综合视频网| 国产激情精品久久久第一区二区 | www国产成人|