自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 cimagelist 设置 没有艺术细胞

m_imglist.Create(15, 21, ILC_MASK|ILC_COLOR32,1,5);//创建位图链 每个位图15像素    CBitmap bm;    bm.LoadBitmap(IDB_NUM);        m_imglist.Add(&bm,RGB(0,0,0));         CDC   *   pDC   =   m_bmp.GetDC();   /* m_im

2007-12-18 19:45:00 697

原创 app-drive传递字符串

                            outc=(CHAR *)pIrp->AssociatedIrp.SystemBuffer;                             strncpy(outc,"我爱你",sizeof("我爱你"));                             pIrp->IoStatus.Information=sizeof(

2007-12-17 20:50:00 647

转载 BDA驱动学习笔记(6):错误处理,内存管理以及字符串

错误处理:错误处理分为状态代码返回,异常处理和bug check三种,第三种(bug check)也就是我们在98系统里经常见到的蓝屏,nt系统里不常见但也会发生,真是很让人讨厌。不过万一驱动代码执行过程中发现了及其严重的错误,那么给个蓝屏应该是最好的选择,因为既然是“及其严重”的错误,继续执行下去操作系统会被搞坏。状态代码NTSTATUS是一个32位的整数,表征代码执行成功与否,它的结构如下

2007-12-17 13:50:00 1003

原创 App- drive通讯

上层和驱动通信用DeviceIoControl函数,这是一个Win32 API,在SDK中定义。这个函数都会产生一个IRP_MJ_DEVICE_CONTROL包,如果驱动中注册过相应的例程,那么这个包就会引发该例程的工作。如果是驱动和驱动间的通信,那么用IoBuildDeviceControlRequest函数,该函数在DDK中定义,会产生一个IRP_INTERNAL_DEVICE_CONTROL

2007-12-17 13:17:00 1020

原创 解决Windows 程序界面闪烁问题的一些经验

解决Windows 程序界面闪烁问题的一些经验一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自

2007-12-11 13:18:00 675

原创 同步 线程 事件

1. VOID KeInitializeEvent(IN PRKEVENT Event, IN EVENT_TYPE Type, IN BOOLEAN State);Type : 事件类型,可以是 NotificationEvent 和 而SynchronizationEvent.   NotificationEvent     等待一个IO操作完成.当一个NotificationEvent

2007-12-10 08:40:00 2897

原创 函数......ObReferenceObjectByHandle

ObReferenceObjectByHandle函数来获得这个Handle对应的FileObject。我们只能给FileObject发送IRP。 stat=ObReferenceObjectByHandle(handle,GENERIC_READ,*IoFileObjectType,KernelMode,(PVOID*)&fileob,0);ObReferenceObjectByHandle(

2007-12-10 08:33:00 6155 1

原创 驱动的一些基本函数

RtlInitUnicodeString函数的作用是计算Unicode字符串的大小并且填充UNICODE_STRING结构,一般来说, Unicode字符串都是在代码中静态定义的,并且在运行中保持不变,所以在链接的时候就把UNICODE_STRING结构给填好是完全可能的并且是很 容易的,这样更容易理解、 更节省空间(省去8字节的UNICODE_STRING结构、最多3字节的对齐空间以及至少14字

2007-12-10 08:06:00 2357

原创 select深入一点了

WSAEWOULDBLOCK  操作没有完成 正在执行中。。。。。。。。待FD_CONNECT消息nRead == SOCKET_ERROR || nRead == 0 getlasterr ==WSAEWOULDBLOCK   否则都是为断开异步recv每次 接受的 字符不一定。 有可能比较少。。。没接受全 FD_ZERO(wfds);清除状态 FD_SET(sock, wfds);设置关联FD

2007-12-08 22:02:00 687

转载 套接字模式:锁定、非锁定2

套接字模式:锁定、非锁定套接字I/O模型:      select(选择)WSAAsyncSelect(异步选择)WSAEventSelect(事件选择)Overlapped I/O(重叠式I / O)Completion port(完成端口) 一、 简介 套接字模型的出现,是为了解决套接字模式存在的某些限制。所有Wi n d o w s平台都支持套接字以锁定或非锁定方式工作。然而,并非每种平

2007-12-08 01:11:00 2008

转载 Winsock异步模型之二(WSAEventSelect)

目录: 一、WinSock I/O模型分析 1.WSAAsuncSelect模型 2.WSAEventSelect模型 3.重叠(Overlapped)I/O模型 二、聊天软件的设计与分析 1.程序功能 2.程序设计 3.实现是的关键点 三、体会 四、源代码一、WinSock I/O模型分析Winsock提供了五种套接字I/O模型来解决这些问题.他们分别是select(选择),WSAAsy

2007-12-08 00:30:00 4466

原创 套接字模式:锁定、非锁定a

套接字模式:锁定、非锁定套接字I/O模型:      select(选择)WSAAsyncSelect(异步选择)WSAEventSelect(事件选择)Overlapped I/O(重叠式I / O)Completion port(完成端口) 一、 简介 套接字模型的出现,是为了解决套接字模式存在的某些限制。所有Wi n d o w s平台都支持套接字以锁定或非锁定方式工作。然而,并非

2007-12-08 00:19:00 1321

原创 限制窗口大小

 GetMinMaxInfo   wm_getminmaxinfo 设置 最小最大值 就可以了。。。

2007-12-05 23:18:00 615

原创 释放资源

 HRSRC   res   =   FindResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_JIF1),_T("jif"));    HGLOBAL   gl=LoadResource(NULL,res);    LPVOID   lp=LockResource(gl);      CString   strFileName(_T("d:/

2007-12-05 17:14:00 894 1

原创 立即退出当前进程

PostQuitMessage(0);   AfxGetMainWnd()->SendMessage(WM_CLOSE);::DestroyWindow(hwnd)//hwnd就是你所想要关闭的项目的主窗体的句柄_exit(1);         is   also   ok! 

2007-12-05 11:47:00 842

原创 socket的延时技巧

      TCP/IP   Winsock编程要点           蒋勇           2002.5.23                       利用Winsock编程由同步和异步方式,同步方式逻辑清晰,编程专注于应用,在抢先式的多任务操作系统中(WinNt、Win2K)采用多线程方式效率基本达到异步方式的水平,应此以下为同步方式编程要点。

2007-12-05 11:41:00 8964

原创 StretchBlt缩小扩大失真

    dc.SetStretchBltMode(COLORONCOLOR) ; 

2007-12-04 12:08:00 1237 2

通用DLL注入器.

通用DLL注入器.用来注入任何进程的一个注入器。

2012-08-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除