关闭

A trap about .net asynchronous programming

An article about asynchronous programming which results in deadlock....
阅读(110) 评论(0)

mysql编译问题集

一、环境 操作系统:lubuntu mysql版本:mysql5.1.34 二、问题 1、No curses/termcap library found 原因:缺少ncurses库 解决方法:apt-get install libncurses5-dev 2、configure: error: C++ preprocessor "/lib/cpp" fails sanit...
阅读(547) 评论(0)

Java异常丢失原因之猜想

先来看段代码: public class ExceptionHandler { public ExceptionHandler() { } boolean testEx() throws Exception { boolean ret = true; try { ret = testEx...
阅读(243) 评论(0)

Windbg调试异常

总结了在windbg中对异常发生位置进行迅速定位的步骤。...
阅读(2373) 评论(0)

CoInitialize浅析二

最近工作比较忙,在粗略分析了CoInitialize之后我们一直没有再深入研究,下面言归正传。前面我们初步了解到了CoInitialize其实是通过调用CoInitializeEx来实现功能的,而后者最终调用了wCoInitializeEx函数,如果能进一步了解这个函数的内部实现,那么我们对COM环境的初始化过程就比较清晰了。好,我们下面继续看wCoInitializeEx的汇编代码,这次我们分段...
阅读(3440) 评论(2)

CoInitialize浅析一

大家都知道程序中若要使用COM组件则必须要先调用CoInitialize,该函数主要是用来初始化COM运行环境。但这个函数的作用域是以线程为单位还是以进程为单位呢?也许大家已经通过测试程序摸索出答案,没错,是以线程为单位。今天我们就稍微再深入一下,通过分析CoInitialize的具体实现来印证我们的想法。 我们先来看看CoInitialize的汇编 769B2A24...
阅读(16989) 评论(0)

VC在debug版和release版中分配堆的区别

问题现象及测试代码      前几天有同事无意中用debug版的主程序调用了release版的dll中的某个输出函数,该函数new了一块内存并将指针返回给主程序并由后者释放,主程序在调用delete释放内存时断言失败。在排查问题时,同事念叨了一句“难道debug版和release版分配的内存不一样?”,这个问题我之前的确没有注意过,于是便进行了简单探索。本文内容主要针对VC6进行探索,其他版本V...
阅读(4389) 评论(1)

常用汇编对照

本文用来记录和积累常见汇编对应的C语句。...
阅读(415) 评论(0)

对金山卫士界面的摸索

http://bbs.code.ijinshan.com/viewthread.php?tid=632&extra=page%3D1...
阅读(459) 评论(0)

最近写的一个关于金山卫士主界面的简单分析

http://bbs.code.ijinshan.com/viewthread.php?tid=605&extra=page%3D2...
阅读(413) 评论(0)

ddk无法编译utf-8编码方式的源文件

ddk无法编译utf-8编码方式的源文件...
阅读(364) 评论(0)

说说前两天干的搓事!

代码未编译进来导致调试器找不到相应的符号。...
阅读(308) 评论(0)

内核态可以修改常量?

今天发现一个很奇怪的现象,一个指针指向某常量,在用户态如果对该指针指向的内容进行修改程序肯定会崩溃的,但是在内核态程序却可以正常执行。经过测试,我发现在内核态当中如果修改了该指针所指向内存的内容,系统似乎会自动为其分配一块内存,后续的操作会在这块新分配的内存中生效,而原来那块常量所在的内存并不会被修改。...
阅读(463) 评论(0)

inf文件初探

摘要:本文讨论了仅支持右键安装Windows WDM驱动的inf文件的格式,介绍了相关规则、执行顺序和必需Section。关键词:WDM,INF一、简介INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。通过inf文件可以指示安装程序完成:1、文件的复制、删除和重命名操作;2、添加或删除注册表项;3、更新系统设置文件(如:Autoexec.bat、Config.sys、...
阅读(979) 评论(0)

为串口过滤驱动加上显示串口收发内容的应用程序

最近顺带着进一步完善前面的串口过滤驱动,将过滤的内容能够在应用中显示以方便使用。我的方案是应用程序通过DeviceIoControl发送取过滤内容的请求,在驱动IRP_MJ_DEVICE_CONTROL的派遣函数中通过StartIo例程取列表中的数据;而列表中的数据则由驱动的IRP_MJ_READ的完成例程以及IRP_MJ_WRITE的派遣函数放入,从而达到将数据送到应用程序的目的。在修改过程...
阅读(834) 评论(0)

ANSI_STRING和UNICODE_STRING的成员变量Length很重要

这几天灾在将前面写的那个简单串口过滤驱动进行小小的改动,原来程序只能在加载时挂接一个固定的串口,这就导致过滤驱动不能在实际当中使用。因此,决定将要挂接的串口的驱动名称通过应用程序调用DeviceIoControl传进来,但发现IoAttachDevice和IoAttachDeviceToDeviceStack始终返回STATUS_OBJECT_NAME_NOT_FOUND,为了这个折腾了好几天才解...
阅读(708) 评论(0)

一个简单的串口过滤驱动及一点体会

最近写一个简单的串口过滤驱动,代码如下:driver.h #ifdef __cplusplusextern "C"{#endif#include #ifdef __cplusplus}#endif#define PAGEDCODE code_seg("PAGE")#define LOCKEDCODE code_seg()#define INITCODE code_seg("...
阅读(1191) 评论(0)

如何在批处理文件中获取该批处理文件所处位置?

在批处理文件中获取该文件当前位置一般都用%cd%来获取,但在Vista下这个方法就不行了,我用了一个迂回的方法达到这个目的,不知道大家有没有更好的办法了。 @echo %0 >> %temp%/Install.tmp@for /F %%a in (%temp%/Install.tmp) do @set LocalPath=%%~da%%~pa@del /Q %temp%/Install...
阅读(692) 评论(0)

利用msscript control在程序向VB脚本传递自定义对象的另一法

在网上找了好多关于在程序中向VB脚本传递自定义对象的文章,一般都采用script control的AddObject方法,不过这个方法有个缺点,那就是在VB脚本中必须要知道程序传递给脚本的对象的名字,这样就使程序的扩充性受到了限制,我把我最近摸索的另一个方法跟大家共享一下。其实这里最关键的是要知道在VB脚本中,对象都要支持自动化,这样当程序要向VB脚本的函数或过程传递自定义对象参数时,这个对象...
阅读(1059) 评论(0)

修改文件夹的属性

最近在工作中需要修改由程序自己创建的文件夹的属性,在其安全属性中需要将Users用户组的权限改为完全控制, 原打算在CreateDirectory时指定SECURITY_ATTRIBUTES参数的,不过以前做程序时该参数一直使用NULL,从没有针对安全做过程序;同时,考虑到操作系统各版本的兼容,于是就直接通过cacls.exe来实现了。ShellExecute(NULL, NULL, "cac...
阅读(428) 评论(0)
38条 共2页1 2 下一页 尾页
    个人资料
    • 访问:69810次
    • 积分:1004
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:6篇
    • 译文:0篇
    • 评论:6条