久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区

以文本方式查看主題

-  曙海教育集團論壇  (http://www.rfoamep.cn/bbs/index.asp)
--  Windows驅動開發  (http://www.rfoamep.cn/bbs/list.asp?boardid=75)
----  驅動加入code_seg("INIT")出現藍屏,  (http://www.rfoamep.cn/bbs/dispbbs.asp?boardid=75&id=2720)

--  作者:wangxinxin
--  發布時間:2010-12-17 11:59:04
--  驅動加入code_seg("INIT")出現藍屏,
DeviceExtension:
8207fea8  8207fdf0 00280026 f8a77150 001a0018
8207feb8  f8a77130 00000000 0000000d 8207fdf0

DriverEntry結束后8207feb8空間被釋放,驅動卸載時調用IoDeleteSymbolicLink函數藍屏,如果將code_seg("INIT")去掉可正常,啟動/停止。

驅動源碼來自《windows驅動開發技術詳解》,詫異的是在網上查詢沒找到該問題的答案然道都能正常運行?

源碼如下:

代碼:
/************************************************************************
* 文件名稱:Driver.cpp                                                 
* 作    者:張帆
* 完成日期:2007-11-1
*************************************************************************/

#include "Driver.h"

/************************************************************************
* 函數名稱:DriverEntry
* 功能描述:初始化驅動程序,定位和申請硬件資源,創建內核對象
* 參數列表:
      pDriverObject:從I/O管理器中傳進來的驅動對象
      pRegistryPath:驅動程序在注冊表的中的路徑
* 返回 值:返回初始化驅動狀態
*************************************************************************/
#pragma INITCODE
extern "C" NTSTATUS DriverEntry (
      IN PDRIVER_OBJECT pDriverObject,
      IN PUNICODE_STRING pRegistryPath  ) 
{
  NTSTATUS status;
  KdPrint(("Enter DriverEntry\\n"));

  //注冊其他驅動調用函數入口
  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;
  
  //創建驅動設備對象
  status = CreateDevice(pDriverObject);

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

/************************************************************************
* 函數名稱:CreateDevice
* 功能描述:初始化設備對象
* 參數列表:
      pDriverObject:從I/O管理器中傳進來的驅動對象
* 返回 值:返回初始化狀態
*************************************************************************/
#pragma INITCODE
extern "C" NTSTATUS CreateDevice (
    IN PDRIVER_OBJECT  pDriverObject) 
{
  NTSTATUS status;
  PDEVICE_OBJECT pDevObj;
  PDEVICE_EXTENSION pDevExt;
  
  //創建設備名稱
  UNICODE_STRING devName;
  RtlInitUnicodeString(&devName,L"\\\\Device\\\\MyDDKDevice");
  
  //創建設備
  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;
  //創建符號鏈接
  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;
}

/************************************************************************
* 函數名稱:HelloDDKUnload
* 功能描述:負責驅動程序的卸載操作
* 參數列表:
      pDriverObject:驅動對象
* 返回 值:返回狀態
*************************************************************************/
#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;

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

/************************************************************************
* 函數名稱:HelloDDKDispatchRoutine
* 功能描述:對讀IRP進行處理
* 參數列表:
      pDevObj:功能設備對象
      pIrp:從IO請求包
* 返回 值:返回狀態
*************************************************************************/
#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;
}

代碼:
/************************************************************************
* 文件名稱:Driver.h                                                 
* 作    者:張帆
* 完成日期:2007-11-1
*************************************************************************/
#pragma once

#ifdef __cplusplus
extern "C"
{
#endif
#include <NTDDK.h>
#ifdef __cplusplus
}
#endif 

#define PAGEDCODE code_seg("PAGE")
#define LOCKEDCODE code_seg()
#define INITCODE code_seg("INIT")

#define PAGEDDATA data_seg("PAGE")
#define LOCKEDDATA data_seg()
#define INITDATA data_seg("INIT")

#define arraysize(p) (sizeof(p)/sizeof((p)[0]))

typedef struct _DEVICE_EXTENSION {
  PDEVICE_OBJECT pDevice;
  UNICODE_STRING ustrDeviceName;  //設備名稱
  UNICODE_STRING ustrSymLinkName;  //符號鏈接名
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;

// 函數聲明

extern "C" NTSTATUS CreateDevice (IN PDRIVER_OBJECT pDriverObject);
VOID HelloDDKUnload (IN PDRIVER_OBJECT pDriverObject);
NTSTATUS HelloDDKDispatchRoutine(IN PDEVICE_OBJECT pDevObj,
                 IN PIRP pIrp);

久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
这里只有精品免费| 国产一区二区三区色淫影院| 久久久久久九九九九| 国产亚洲1区2区3区| 91网上在线视频| 久久精品夜色噜噜亚洲aⅴ| 成人黄色网址在线观看| 亚洲精品一区二区精华| 91蜜桃网址入口| 国产三级一区二区三区| 国产一区福利视频| 亚洲色欲色欲www| 日韩高清国产精品| 日韩av一区二区三区| 欧美中文字幕久久 | 91麻豆精品国产91久久久久久久久 | 高清不卡日本v二区在线| 国产精品久久久久久久蜜臀| 玛丽玛丽电影原版免费观看1977| 一区二区三区国产精品| 亚洲福利av| 精品伊人久久久久7777人| 日韩一级大片在线| 91久久爱成人| 一区二区三区四区激情 | 成人亚洲精品久久久久软件| www国产成人免费观看视频 深夜成人网| 91麻豆精品秘密| 亚洲美女免费在线| 在线精品视频小说1| 国产精品一区在线观看你懂的| 欧美不卡一区二区三区| 精品免费国产| 免费在线成人网| 精品美女被调教视频大全网站| 国产精品日韩二区| 亚洲成人免费观看| 欧美一区二区三区视频在线| 国产v亚洲v天堂无码| 亚洲国产wwwccc36天堂| 91精选在线观看| www.一区二区三区| 日韩激情在线观看| 精品成a人在线观看| 欧美一区二区三区在线免费观看 | 中文成人综合网| 亚洲欧美日韩在线综合| 国产一区999| 国产欧美一区二区三区鸳鸯浴| 午夜一区二区三区| 不卡高清视频专区| 亚洲最大成人综合| 91精品国产免费| 欧美精品七区| 成人一区在线看| 亚洲国产一区二区视频| 日韩欧美的一区| 亚洲精品久久久久久一区二区| 粉嫩嫩av羞羞动漫久久久| 国产精品美女久久久久久2018| 色综合久久久久综合体桃花网| 91在线精品秘密一区二区| 首页综合国产亚洲丝袜| 国产三级欧美三级日产三级99 | 国产成人av一区| 亚洲精品成人在线| 欧美酷刑日本凌虐凌虐| 精品婷婷色一区二区三区蜜桃| 久久99精品一区二区三区| 中文字幕亚洲电影| 欧美一卡二卡三卡| 中文字幕欧美日韩一区二区| 91免费看`日韩一区二区| 麻豆免费看一区二区三区| 日韩欧美三级电影| 97操在线视频| 国产一区二区三区蝌蚪| 亚洲国产aⅴ成人精品无吗| 久久久99免费| 欧美视频在线播放| 欧美在线视频一区二区三区| 不卡的电影网站| 美女诱惑一区二区| 亚洲免费观看在线视频| 久久蜜臀精品av| 精品视频123区在线观看| 久久综合九色欧美狠狠| 94-欧美-setu| 国产福利91精品| 天堂在线亚洲视频| 亚洲欧美综合色| 精品精品欲导航| 欧美日韩久久不卡| 一本一本a久久| 黄色小网站91| www久久99| 99久久国产综合色|国产精品| 免费成人你懂的| 性做久久久久久久免费看| 国产精品久久久久久久裸模 | 丰满亚洲少妇av| 精品在线观看免费| 日韩精品乱码免费| 亚洲成人你懂的| 亚洲精品日韩综合观看成人91| 国产日韩精品久久久| 欧美大白屁股肥臀xxxxxx| 欧美日本不卡视频| 精品视频一区二区不卡| 色先锋资源久久综合| 亚洲欧美成人一区| 日本公妇乱淫免费视频一区三区| 国产精品免费一区二区三区| 91麻豆国产福利精品| 99精品国产99久久久久久白柏| 国产v综合v亚洲欧| 国产美女视频91| 狠狠色综合播放一区二区| 麻豆成人久久精品二区三区小说| 天天操天天综合网| 天天色综合成人网| 日韩制服丝袜先锋影音| 午夜在线电影亚洲一区| 性欧美疯狂xxxxbbbb| 亚洲一区二区中文在线| 亚洲国产视频一区| 日韩综合在线视频| 日本欧美一区二区在线观看| 日本成人中文字幕| 蜜臀av一区二区在线免费观看| 天天影视色香欲综合网老头| 天天色图综合网| 麻豆久久一区二区| 韩国欧美一区二区| 成人免费毛片app| 97se狠狠狠综合亚洲狠狠| 成人女人免费毛片| 久久免费99精品久久久久久| 日本不卡久久| 这里只有精品66| 欧美性欧美巨大黑白大战| 欧美人动与zoxxxx乱| 欧美大片一区二区| 国产日韩av一区| 亚洲精品免费在线观看| 亚洲成a人片综合在线| 天天综合网 天天综合色| 麻豆国产欧美一区二区三区| 国产在线播放一区三区四| 成人三级在线视频| 超碰97人人在线| 日韩免费一区二区三区| 欧美色爱综合网| 亚洲精品在线一区二区| ...xxx性欧美| 日本欧洲一区二区| 岛国精品一区二区| 国产精品区二区三区日本| 日韩资源av在线| 欧美精品丝袜久久久中文字幕| 精品国产电影一区二区| 亚洲欧美日韩国产综合| 日本欧美在线看| 成人av手机在线观看| 精品亚洲一区二区三区四区五区高| 五月天久久狠狠| 91精品国产综合久久精品性色| 国产日产精品一区| 性感美女极品91精品| 国精产品一区一区三区mba视频| www.欧美日韩| 青娱乐国产91| 5月丁香婷婷综合| 欧美激情一区二区三区| 亚洲第一激情av| 国产精品一区二区不卡| 国产精品免费区二区三区观看| 亚洲视频小说| 精品剧情在线观看| 伊人色综合久久天天人手人婷| 九九国产精品视频| 动漫3d精品一区二区三区| 一区在线电影| 精品国产一区二区亚洲人成毛片 | 色94色欧美sute亚洲线路二 | 蜜桃av噜噜一区二区三区| 在线观看成人免费视频| 国产网站一区二区三区| 丝袜美腿一区二区三区| 99久久久国产精品| 亚洲综合第一| 国产午夜精品美女毛片视频| 午夜精品成人在线视频| www.欧美色图| 中文字幕一区综合| 中文字幕在线不卡一区| 韩国欧美国产1区| 欧美专区一二三| 日韩欧美国产一二三区| 亚洲一区二区三区精品在线|