`
yexin218
  • 浏览: 970943 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

WDK中提示的Warning

阅读更多

以前从来没有注意WDK在编译之后,虽然没有在build的时候直接提示警告信息,但是会在ORCA的一个界面中提示程序中存在的一些Warnning,比如:

 警告实例1:

warning 28197: Possibly leaking memory 'pMacInfo':

如果你上网查找这个错误:http://msdn.microsoft.com/en-us/library/aa468922.aspx

那你就会发现,在程序中忘记了释放已经分配的内存:

        pMacInfo =  (PDOT11_MAC_INFO)NdisAllocateMemoryWithTagPriority(pFilter->FilterHandle, sizeof(DOT11_MAC_INFO), FILTER_ALLOC_TAG, LowPoolPriority);
		NdisZeroMemory(pMacInfo,sizeof(DOT11_MAC_INFO));
	    DEBUGP(DL_TEST,("sizeof DOT11_MAC_INFO is%u!\n",sizeof(DOT11_MAC_INFO)));
		Status = filterDoInternalRequest(pFilter,
	                                  NdisRequestMethod,
									  Oid,
									  pMacInfo,
									  sizeof(DOT11_MAC_INFO),
									  sizeof(DOT11_MAC_INFO),
									  MethodId,
									  &BytesProcessed); 
....(略)
		 } 
       NdisFreeMemory(pMacInfo,0,0);

 

如果你没有NdisFreeMemory()这条语句,他就会提示说可能存在内存泄露。

 

 警告实例2:

 

133            DriverObject->DriverUnload = FilterUnload;
 
       

filter.c(133) : warning 28175: The 'DriverUnload' member of _DRIVER_OBJECT should not be accessed by a driver: Access to this member may be permitted for certain classes of drivers. See the documentation for this warning for more information.
Found in function 'DriverEntry'

这里说成员DriverUnload不应该被驱动访问~ 没有找到原因,暂且记录!

 

 警告实例3:

28193 - <Variable> holds a value that must be examined

 NdisQueryMdl(
            pMdl,
            (PVOID *)&pCopyData,
            &BufferLength,
            NormalPagePriority);
FILTER_ASSERT(pCopyData != NULL);// Exception will rise if no this statment

 

The driver should test the value of the specified variable, which was supplied by a function, but the driver is either not using the value or is overwriting the value without examining it.

  • 大小: 55.3 KB
分享到:
评论

相关推荐

    适用于 Windows 10 版本 1903 WDK中vs2019扩展插件

    适用于 Windows 10 版本 1903 WDK中vs2019扩展插件,微软官方原版下载WDK中提取,支持windbg调试

    Windows 10 版本 1809 WDK中的vs2017扩展插件

    适用于 Windows 10 版本 1809 WDK中vs2017扩展插件,微软官方原版下载WDK中提取,支持windbg调试

    适用于 Windows 10 版本 2004 WDK中windbg调试插件

    在这个版本的WDK中,包含了Windbg调试器的一个重要组成部分——Windbg调试插件。Windbg是一款强大的调试工具,尤其在系统级调试和内核模式调试方面表现卓越,对于开发和维护驱动程序的工程师来说不可或缺。 Windbg...

    wdk中的键盘过滤驱动

    在Windows驱动开发工具包(WDK)中,键盘过滤驱动是一种特殊的内核模式驱动程序,它的主要作用是拦截并处理键盘输入数据,通常用于实现特定的安全控制、输入过滤或者自定义快捷键等功能。键盘过滤驱动位于键盘驱动栈...

    wdk帮助文档.pdf

    本知识点将详细介绍WDK文档中提及的与驱动开发相关的技术点和接口。 1. 驱动程序基础知识 驱动程序是操作系统与硬件之间的桥梁,负责实现操作系统对硬件的控制和硬件对操作系统数据的传输。Windows平台上的驱动程序...

    wdk8.1 离线安装包

    在本案例中,我们讨论的是WDK的8.1版本,这是一个离线安装包,意味着它不依赖互联网连接进行安装,这对于没有稳定网络环境或者需要在多台机器上快速部署的情况非常方便。 WDK 8.1 是微软针对Windows 8.1和Windows ...

    WDK开发环境设置.pdf

    - 首先需要从Microsoft官方网站下载最新版本的WDK,并按照提示完成安装。 - 安装完成后,默认路径为 `D:\WinDDK\7600.16385.0`(该路径可能根据个人安装有所不同)。 **步骤2:设置环境变量** - 在系统环境中添加...

    适用于 Windows 10 版本 2004 的 WDK

    在这个特定的版本——"适用于 Windows 10 版本 2004 的 WDK"中,我们找到了一个与最新的Windows 10更新同步的开发环境。这个版本主要面向那些希望利用Windows 10版本2004新特性的开发者。 首先,让我们详细了解一下...

    wdk wizard

    安装完成后,WDK Wizard通常会集成到Visual Studio 2008的菜单中,用户可以通过菜单选项来启动WDK工程的创建过程。 总的来说,WDK Wizard是Windows驱动开发过程中不可或缺的辅助工具,它极大地简化了项目创建的复杂...

    Windows 11 的 WDK

    在Windows 11环境中,WDK的重要性不言而喻,因为它帮助开发者创建与新操作系统版本兼容的高质量驱动程序,确保硬件设备在Windows 11上的顺畅运行。 WDK 100220001是微软针对Windows 11发布的一个特定版本,包含了...

    Windows10 WDK

    在Windows 10 WDK中,`wdksetup.exe`是安装程序的执行文件,它负责引导用户完成整个安装过程。通过运行这个文件,开发者可以将WDK的所有组件安装到本地计算机上,从而开始驱动程序的开发工作。安装过程中,用户可以...

    WDK_6000.16386

    **Windows Driver Kit (WDK) 6000.16386 知识点详解** Windows Driver Kit(WDK)是微软为...文件列表中的“WDK_6000下载地址.txt”很可能是提供下载WDK 6000的链接,这对于需要回溯到那个时期的开发者至关重要。

    WDK源码中 usbView 例子完整工程代码

    USBView是Windows驱动开发工具包(WDK)中提供的一个示例程序,它展示了如何枚举和查询USB设备的相关信息。这个完整的工程代码是专为开发者设计的,用于理解和学习USB设备的编程接口以及如何在Windows系统下进行设备...

    VC6配置WDK7600

    【VC6配置WDK7600】是一个关于在Visual C++ 6.0(简称VC6)中配置Windows Driver Kit(WDK) 7600.16385.1以进行驱动程序开发的过程。WDK是微软提供的用于开发、测试和调试设备驱动程序的工具集,而VC6则是一个经典的...

    vs2013+WDK7600 驱动开发模块

    "可执行文件目录改成自己WDK所在盘符"提示用户需要根据自己的实际情况,修改项目设置,确保编译器能够找到WDK7600的路径,因为WDK包含了编译和测试驱动程序所需的工具和库。 【标签】中的"驱动"指的是驱动程序,它...

    window DDK/WDK 经典中文帮助文档

    9. **编译和部署**:指导如何配置开发环境,使用DDK/WDK编译驱动,并将驱动安装到系统中进行测试。 这份中文帮助文档将帮助开发者快速上手Windows驱动程序开发,理解底层操作系统的工作原理,以及如何编写高效、...

    wdk7601 iso(wdk7.1)

    The Windows Driver Kit (WDK) Version 7.1.0 is an update to the WDK 7.0.0 release and contains the tools, code samples, documentation, compilers, headers and libraries with which software developers ...

    WinDbg WDK7.0.1里弄出来的

    3. **环境变量配置**:为了方便使用WDK中的工具,建议将WDK的安装路径添加到系统的PATH环境变量中。 4. **调试器设置**:如果需要进行驱动程序调试,还需要配置调试器的相关设置,例如设置符号路径等。 #### 四、...

    wdk vs2012 驱动编程

    wdk vs2012 驱动编程 win7下用vs2012驱动开发搭建

    wdk 中 usbview 示例代码

    用来查看连接到系统的usb设备,使用deviceiocontrol调用,查看不同调用获取usb设备不同信息

Global site tag (gtag.js) - Google Analytics