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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? driver.cpp

?? <<Windows驅(qū)動(dòng)開(kāi)發(fā)技術(shù)詳解>>隨書(shū)光盤(pán)源碼,共23章,開(kāi)發(fā)環(huán)境主要是Visual studio.
?? CPP
字號(hào):
/************************************************************************
* 文件名稱(chēng):Driver.cpp                                                 
* 作    者:張帆
* 完成日期:2007-11-1
*************************************************************************/

#include "Driver.h"

#define BUFFER_SIZE 1024
#pragma INITCODE
VOID RtlTest() 
{
	PUCHAR pBuffer = (PUCHAR)ExAllocatePool(PagedPool,BUFFER_SIZE);
	//用零填充內(nèi)存
	RtlZeroMemory(pBuffer,BUFFER_SIZE);

	PUCHAR pBuffer2 = (PUCHAR)ExAllocatePool(PagedPool,BUFFER_SIZE);
	//用固定字節(jié)填充內(nèi)存
	RtlFillMemory(pBuffer2,BUFFER_SIZE,0xAA);

	//內(nèi)存拷貝
	RtlCopyMemory(pBuffer,pBuffer2,BUFFER_SIZE);

	//判斷內(nèi)存是否一致
	ULONG ulRet = RtlCompareMemory(pBuffer,pBuffer2,BUFFER_SIZE);
	if (ulRet==BUFFER_SIZE)
	{
		KdPrint(("The two blocks are same.\n"));
	}
}

/************************************************************************
* 函數(shù)名稱(chēng):DriverEntry
* 功能描述:初始化驅(qū)動(dòng)程序,定位和申請(qǐng)硬件資源,創(chuàng)建內(nèi)核對(duì)象
* 參數(shù)列表:
      pDriverObject:從I/O管理器中傳進(jìn)來(lái)的驅(qū)動(dòng)對(duì)象
      pRegistryPath:驅(qū)動(dòng)程序在注冊(cè)表的中的路徑
* 返回 值:返回初始化驅(qū)動(dòng)狀態(tài)
*************************************************************************/
#pragma INITCODE
extern "C" NTSTATUS DriverEntry (
			IN PDRIVER_OBJECT pDriverObject,
			IN PUNICODE_STRING pRegistryPath	) 
{
	NTSTATUS status;
	KdPrint(("Enter DriverEntry\n"));

	//注冊(cè)其他驅(qū)動(dòng)調(diào)用函數(shù)入口
	pDriverObject->DriverUnload = HelloDDKUnload;
	pDriverObject->MajorFunction[IRP_MJ_CREATE] = HelloDDKDispatchRoutine;
	pDriverObject->MajorFunction[IRP_MJ_CLOSE] = HelloDDKDispatchRoutine;
	pDriverObject->MajorFunction[IRP_MJ_WRITE] = HelloDDKDispatchRoutine;
	pDriverObject->MajorFunction[IRP_MJ_READ] = HelloDDKDispatchRoutine;
	
	//創(chuàng)建驅(qū)動(dòng)設(shè)備對(duì)象
	status = CreateDevice(pDriverObject);

	RtlTest();

	KdPrint(("DriverEntry end\n"));
	return status;
}

/************************************************************************
* 函數(shù)名稱(chēng):CreateDevice
* 功能描述:初始化設(shè)備對(duì)象
* 參數(shù)列表:
      pDriverObject:從I/O管理器中傳進(jìn)來(lái)的驅(qū)動(dòng)對(duì)象
* 返回 值:返回初始化狀態(tài)
*************************************************************************/
#pragma INITCODE
NTSTATUS CreateDevice (
		IN PDRIVER_OBJECT	pDriverObject) 
{
	NTSTATUS status;
	PDEVICE_OBJECT pDevObj;
	PDEVICE_EXTENSION pDevExt;
	
	//創(chuàng)建設(shè)備名稱(chēng)
	UNICODE_STRING devName;
	RtlInitUnicodeString(&devName,L"\\Device\\MyDDKDevice");
	
	//創(chuàng)建設(shè)備
	status = IoCreateDevice( pDriverObject,
						sizeof(DEVICE_EXTENSION),
						&(UNICODE_STRING)devName,
						FILE_DEVICE_UNKNOWN,
						0, TRUE,
						&pDevObj );
	if (!NT_SUCCESS(status))
		return status;

	pDevObj->Flags |= DO_BUFFERED_IO;
	pDevExt = (PDEVICE_EXTENSION)pDevObj->DeviceExtension;
	pDevExt->pDevice = pDevObj;
	pDevExt->ustrDeviceName = devName;
	//創(chuàng)建符號(hào)鏈接
	UNICODE_STRING symLinkName;
	RtlInitUnicodeString(&symLinkName,L"\\??\\HelloDDK");
	pDevExt->ustrSymLinkName = symLinkName;
	status = IoCreateSymbolicLink( &symLinkName,&devName );
	if (!NT_SUCCESS(status)) 
	{
		IoDeleteDevice( pDevObj );
		return status;
	}
	return STATUS_SUCCESS;
}

/************************************************************************
* 函數(shù)名稱(chēng):HelloDDKUnload
* 功能描述:負(fù)責(zé)驅(qū)動(dòng)程序的卸載操作
* 參數(shù)列表:
      pDriverObject:驅(qū)動(dòng)對(duì)象
* 返回 值:返回狀態(tài)
*************************************************************************/
#pragma PAGEDCODE
VOID HelloDDKUnload (IN PDRIVER_OBJECT pDriverObject) 
{
	PDEVICE_OBJECT	pNextObj;
	KdPrint(("Enter DriverUnload\n"));
	pNextObj = pDriverObject->DeviceObject;
	while (pNextObj != NULL) 
	{
		PDEVICE_EXTENSION pDevExt = (PDEVICE_EXTENSION)
			pNextObj->DeviceExtension;

		//刪除符號(hào)鏈接
		UNICODE_STRING pLinkName = pDevExt->ustrSymLinkName;
		IoDeleteSymbolicLink(&pLinkName);
		pNextObj = pNextObj->NextDevice;
		IoDeleteDevice( pDevExt->pDevice );
	}
}

/************************************************************************
* 函數(shù)名稱(chēng):HelloDDKDispatchRoutine
* 功能描述:對(duì)讀IRP進(jìn)行處理
* 參數(shù)列表:
      pDevObj:功能設(shè)備對(duì)象
      pIrp:從IO請(qǐng)求包
* 返回 值:返回狀態(tài)
*************************************************************************/
#pragma PAGEDCODE
NTSTATUS HelloDDKDispatchRoutine(IN PDEVICE_OBJECT pDevObj,
								 IN PIRP pIrp) 
{
	KdPrint(("Enter HelloDDKDispatchRoutine\n"));
	NTSTATUS status = STATUS_SUCCESS;
	// 完成IRP
	pIrp->IoStatus.Status = status;
	pIrp->IoStatus.Information = 0;	// bytes xfered
	IoCompleteRequest( pIrp, IO_NO_INCREMENT );
	KdPrint(("Leave HelloDDKDispatchRoutine\n"));
	return status;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品免费看| 精品一区在线看| 精品国产网站在线观看| 94-欧美-setu| 精品一区二区三区欧美| 亚洲国产日韩精品| 国产精品青草综合久久久久99| 欧美军同video69gay| 9i看片成人免费高清| 久久国产成人午夜av影院| 亚洲欧美激情一区二区| 久久精品欧美一区二区三区不卡 | 欧美日韩综合在线| 成人黄色在线看| 九一九一国产精品| 日韩精品乱码av一区二区| 中文字幕一区二区日韩精品绯色| 日韩免费成人网| 欧美日韩国产综合久久| 91蜜桃婷婷狠狠久久综合9色| 精品一区二区三区日韩| 免费看欧美女人艹b| 亚洲国产你懂的| 亚洲日本电影在线| 亚洲欧洲三级电影| 久久久精品影视| 久久婷婷色综合| 精品少妇一区二区三区| 日韩一区二区电影在线| 在线成人av影院| 欧美日韩黄视频| 欧美日韩久久不卡| 欧美午夜一区二区三区| 欧美午夜理伦三级在线观看| 91麻豆蜜桃一区二区三区| 成人av电影免费在线播放| 国产精品小仙女| 国产成人av福利| 国产精品乡下勾搭老头1| 国产露脸91国语对白| 国产精品一区二区免费不卡| 狠狠色丁香婷婷综合| 国产精品综合在线视频| 国产精品自拍网站| 成人爱爱电影网址| 91亚洲永久精品| 在线欧美小视频| 欧美又粗又大又爽| 欧美日本一道本| 日韩欧美一级片| 久久这里只有精品视频网| 久久精品夜色噜噜亚洲aⅴ| 国产人妖乱国产精品人妖| 久久久久久毛片| 国产精品久久久久影院色老大 | 欧美视频在线播放| 欧美三级视频在线| 欧美一区永久视频免费观看| 日韩欧美精品在线视频| 精品国产乱码久久久久久老虎| 26uuu欧美| 国产精品素人视频| 亚洲人午夜精品天堂一二香蕉| 亚洲综合久久久久| 美女视频一区在线观看| 国产精品亚洲一区二区三区在线| eeuss鲁一区二区三区| 在线精品视频一区二区| 日韩欧美在线1卡| 国产欧美精品区一区二区三区| 中文字幕字幕中文在线中不卡视频| 亚洲精品视频在线观看免费| 亚洲h在线观看| 国产乱子伦一区二区三区国色天香| 成人午夜电影久久影院| 欧美视频一区二区| 久久这里只精品最新地址| 自拍偷自拍亚洲精品播放| 婷婷久久综合九色国产成人| 国产剧情av麻豆香蕉精品| 色老汉av一区二区三区| 日韩西西人体444www| 国产精品久久久一本精品| 婷婷六月综合网| 国产成人精品一区二| 欧美在线观看视频一区二区三区| 精品日韩一区二区三区| 一区精品在线播放| 久久99久久99| 在线视频国内自拍亚洲视频| 久久新电视剧免费观看| 亚洲国产成人av| 成人精品视频.| 91精品国产色综合久久不卡电影| 日本一区二区三区四区在线视频 | 久久爱另类一区二区小说| 99久久99久久精品免费观看| 日韩欧美在线综合网| 亚洲精品写真福利| 粉嫩av一区二区三区在线播放| 91精品国产入口| 亚洲自拍偷拍图区| 粉嫩绯色av一区二区在线观看| 宅男噜噜噜66一区二区66| 亚洲欧美二区三区| 国产电影精品久久禁18| 欧美一区二区精品久久911| 亚洲精品免费在线| 国产成人亚洲综合a∨婷婷| 日韩一二三区不卡| 亚洲观看高清完整版在线观看| 丁香六月久久综合狠狠色| 日韩一级二级三级精品视频| 亚洲成人综合网站| 91福利视频在线| 成人欧美一区二区三区| 国产成人99久久亚洲综合精品| 日韩欧美一级二级| 日韩在线a电影| 精品视频一区二区不卡| 一区二区三区国产| 一本一本大道香蕉久在线精品| 国产精品三级av在线播放| 国产成人自拍在线| 久久精品人人做人人综合| 精东粉嫩av免费一区二区三区| 欧美一区二区三区小说| 日韩精品一二三区| 91精品国产欧美一区二区18 | 国产一区二区精品久久91| 91精品国产综合久久福利软件| 亚洲电影激情视频网站| 欧美亚洲一区三区| 亚洲成在线观看| 欧美日韩国产片| 午夜影视日本亚洲欧洲精品| 欧美日韩国产免费一区二区| 亚洲成人激情综合网| 欧美欧美午夜aⅴ在线观看| 午夜久久久久久| 欧美肥妇bbw| 久久国产日韩欧美精品| 日韩免费高清电影| 国内精品第一页| 国产色综合一区| av电影天堂一区二区在线| 亚洲欧洲无码一区二区三区| 欧美一区二区三区免费视频| 蜜臀av一区二区在线观看| 欧美不卡在线视频| 国产精品18久久久久久久久久久久| 久久久精品综合| 99re在线精品| 亚洲福利一二三区| 欧美电影免费观看高清完整版| 韩国av一区二区三区四区| 国产人成一区二区三区影院| jvid福利写真一区二区三区| 亚洲欧美一区二区视频| 欧美在线观看你懂的| 麻豆传媒一区二区三区| 久久久www免费人成精品| 成人午夜av电影| 亚洲成年人网站在线观看| 日韩视频免费观看高清完整版| 国产在线一区观看| 成人欧美一区二区三区白人| 欧美人妇做爰xxxⅹ性高电影| 国内精品国产三级国产a久久| 中文字幕人成不卡一区| 欧美日韩免费电影| 国产精品一色哟哟哟| 一区二区三区在线免费播放| 欧美一区二区三区白人| 高清日韩电视剧大全免费| 亚洲国产日产av| 久久综合久久综合久久| 色狠狠桃花综合| 韩国在线一区二区| 亚洲黄色小视频| 久久无码av三级| 在线免费av一区| 国产成人免费高清| 视频一区视频二区中文| 中文字幕乱码久久午夜不卡| 欧美日韩一本到| 成人av资源网站| 久久精品国产亚洲一区二区三区| 国产精品狼人久久影院观看方式| 欧美日韩一区三区| 成人av资源站| 韩国女主播成人在线| 亚洲综合色区另类av| 国产日产精品1区| 911精品国产一区二区在线| av午夜一区麻豆| 久久99精品国产麻豆不卡| 一区二区三区在线观看欧美| 国产网站一区二区三区| 欧美一区二区三区四区久久|