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

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

?? main.cpp

?? 驅動程序講解2 驅動程式的入門實例 驅動程序講解2 驅動程式的入門實例
?? 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麻豆免费在线观看| 久久久久久亚洲综合影院红桃| 亚洲色图视频免费播放| 黄色资源网久久资源365| 欧美中文字幕一区二区三区亚洲| 国产性色一区二区| 日韩国产成人精品| 欧美性猛片aaaaaaa做受| 中文字幕国产一区| 久久91精品国产91久久小草| 欧美日韩极品在线观看一区| ...xxx性欧美| 欧美一区二区性放荡片| 亚洲女人****多毛耸耸8| 国产一区 二区| 日韩欧美不卡在线观看视频| 亚洲午夜一区二区三区| 一本久久a久久精品亚洲| 欧美极品美女视频| 国产精品99久久久久久久女警| 91精品国产91久久久久久最新毛片 | 欧美高清视频一二三区 | 欧美群妇大交群中文字幕| 国产精品久久久久9999吃药| 国产成人午夜片在线观看高清观看| 欧美巨大另类极品videosbest | 极品少妇xxxx偷拍精品少妇| 欧美福利电影网| 亚洲h动漫在线| 欧美日韩激情在线| 亚洲第一搞黄网站| 91福利在线免费观看| 韩国av一区二区| 精品国产麻豆免费人成网站| 日韩电影一二三区| 91麻豆精品国产自产在线观看一区| 亚洲最大成人网4388xx| 在线观看免费一区| 五月天欧美精品| 欧美一区二区观看视频| 蜜桃av一区二区| 久久久久久久久蜜桃| 成人一级黄色片| 中文字幕日本不卡| 欧美怡红院视频| 麻豆精品在线播放| 国产亚洲福利社区一区| 99re在线精品| 亚洲成a人片综合在线| 欧美xxxxxxxx| av中文字幕在线不卡| 一区二区三区欧美视频| 欧美一级片在线看| 成人午夜大片免费观看| 亚洲欧美日韩国产手机在线| 欧美日韩视频在线一区二区| 免费av成人在线| 国产精品久久久久久久裸模| 一本大道久久精品懂色aⅴ| 日韩激情视频在线观看| 久久综合久久综合久久| 色综合激情久久| 精品亚洲国产成人av制服丝袜| 国产精品女主播av| 欧美影视一区在线| 国产精品77777| 亚洲综合色噜噜狠狠| 日韩欧美亚洲一区二区| av激情综合网| 麻豆91精品视频| 亚洲免费av在线| 亚洲精品久久久久久国产精华液| 日韩三级中文字幕| 99国产欧美另类久久久精品| 蜜桃久久av一区| 亚洲美女免费在线| 久久精品人人做人人爽97| 欧美日本不卡视频| 成人免费毛片高清视频| 蜜桃视频免费观看一区| 亚洲天堂a在线| 精品三级在线看| 欧美视频日韩视频在线观看| 成人丝袜高跟foot| 久久福利视频一区二区| 亚洲成人免费电影| 国产精品高潮呻吟| 久久这里只有精品6| 欧美一区二区三区思思人| 一本久道久久综合中文字幕| 国产成人免费9x9x人网站视频| 日本欧美一区二区三区| 夜夜精品浪潮av一区二区三区| 国产精品麻豆欧美日韩ww| 精品国产电影一区二区| 91精品国产综合久久婷婷香蕉 | 免费看欧美女人艹b| 亚洲大片在线观看| 亚洲一区中文日韩| 亚洲欧美日韩国产成人精品影院 | 亚洲色图都市小说| 国产精品你懂的| 中文字幕免费一区| 久久精品亚洲精品国产欧美kt∨| 欧美电视剧在线观看完整版| 欧美久久一二区| 欧美电影影音先锋| 欧美高清dvd| 91精品中文字幕一区二区三区 | 91免费看视频| 欧美一区二区三区视频在线观看| 欧美性淫爽ww久久久久无| 在线精品视频一区二区| 一本久久精品一区二区| 在线精品视频一区二区三四| 在线观看www91| 欧美日本一道本| 91精品国产综合久久国产大片| 欧美高清激情brazzers| 日韩亚洲欧美成人一区| 久久久午夜电影| 国产欧美一区二区三区鸳鸯浴| 久久九九全国免费| 国产精品成人一区二区艾草 | av影院午夜一区| 91美女福利视频| 欧美日本一区二区三区| 日韩欧美卡一卡二| 国产日产欧产精品推荐色 | 国产成人av电影| 99精品在线观看视频| 91国偷自产一区二区三区观看 | 精品国产青草久久久久福利| 久久蜜臀精品av| 国产精品国产三级国产普通话蜜臀| 中文字幕日韩一区| 亚洲电影欧美电影有声小说| 麻豆一区二区99久久久久| 国产精品一区专区| 色婷婷久久久亚洲一区二区三区 | 亚洲第一激情av| 韩国av一区二区| 在线视频观看一区| 欧美mv日韩mv亚洲| 中文字幕亚洲欧美在线不卡| 亚洲第一主播视频| 国产经典欧美精品| 在线观看www91| 国产午夜精品美女毛片视频| 亚洲免费av网站| 国内精品视频一区二区三区八戒 | 国产精品香蕉一区二区三区| 色婷婷久久久亚洲一区二区三区| 欧美一级高清片| 亚洲免费观看高清完整版在线观看熊| 日本美女视频一区二区| 成人国产精品免费观看动漫 | 久久久777精品电影网影网| 一区2区3区在线看| 国产精品一区专区| 51精品国自产在线| 亚洲色图欧洲色图| 国产一区亚洲一区| 欧美日韩国产综合一区二区| 国产精品视频一区二区三区不卡| 亚洲成a天堂v人片| 一本大道久久a久久综合| 久久久美女毛片| 青青草91视频| 欧美亚洲国产一卡| 中文字幕在线不卡一区| 激情文学综合丁香| 日韩一区二区三区视频在线观看| 亚洲人成网站在线| 成人激情校园春色| 久久久不卡网国产精品二区| 青草av.久久免费一区| 欧美视频一区二区三区| 亚洲四区在线观看| 成人性生交大片免费看中文网站| 欧美一区在线视频| 日韩国产在线观看一区| 91成人免费在线| 亚洲人妖av一区二区| 成人av在线资源网| 国产欧美日韩精品一区| 国产一区二区在线影院| 日韩免费电影网站| 免费人成网站在线观看欧美高清| 欧美综合在线视频| 一区二区三区中文字幕电影| 99久久777色| 亚洲欧美日韩在线不卡|