2011年11月25日

Windows 消息 目录 3

摘要: 表A-1 Windows消息分布消息范围说 明0 ~ WM_USER – 1系统消息WM_USER ~ 0x7FFF自定义窗口类整数消息WM_APP ~ 0xBFFF应用程序自定义消息0xC000 ~ 0xFFFF应用程序字符串消息> 0xFFFF为以后系统应用保留表A-2 常用Windows消息消息名称值说 明WM_NULL0x0000空消息,此消息将被接收窗口忽略WM_CREATE0x0001应用程序创建一个窗口WM_DESTROY0x0002一个窗口被销毁WM_MOVE0x0003移动一个窗口WM_SIZE0x0005改变一个窗口的大小WM_ACTIVATE0x0006一个窗口被激 阅读全文

posted @ 2011-11-25 22:58 zzwworld 阅读(297) 评论(0) 推荐(0)

Windows消息机制概述

摘要: Windows消息机制概述消息是指什么? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向 Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做MSG,MSG含有来自windows应用程序消息队列的消息信息,它在Windows中声明如下:typed 阅读全文

posted @ 2011-11-25 22:25 zzwworld 阅读(313) 评论(0) 推荐(0)

Windows 消息 目录 2

摘要: //按字母排序的窗口公用消息:WM_ACTIVATEWM_ACTIVATEAPPWM_APPWM_APPCOMMANDWM_ASKCBFORMATNAMEWM_CANCELJOURNALWM_CANCELMODEWM_CAPTURECHANGEDWM_CHANGECBCHAINWM_CHANGEUISTATEWM_CHARWM_CHARTOITEMWM_CHILDACTIVATEWM_CLEARWM_CLOSEWM_COALESCE_FIRSTWM_COALESCE_LASTWM_COMMANDWM_COMMNOTIFYWM_COMPACTINGWM_COMPAREITEMWM_CON... 阅读全文

posted @ 2011-11-25 22:10 zzwworld 阅读(474) 评论(0) 推荐(0)

Windows 消息 目录 1

摘要: 消息值注释WM_NULL$0000WM_CREATE$0001WM_DESTROY$0002WM_MOVE$0003WM_SIZE$0005WM_ACTIVATE$0006WM_SETFOCUS$0007WM_KILLFOCUS$0008WM_ENABLE$000AWM_SETREDRAW$000BWM_SETTEXT$000CWM_GETTEXT$000DWM_GETTEXTLENGTH$000EWM_PAINT$000FWM_CLOSE$0010WM_QUERYENDSESSION$0011WM_QUIT$0012WM_QUERYOPEN$0013WM_ERASEBKGND$0014WM_ 阅读全文

posted @ 2011-11-25 22:06 zzwworld 阅读(221) 评论(0) 推荐(0)

2011年10月24日

VS2008 安装失败(microsoft visual studio web 创作组件 安装失败)的解决方法

摘要: 解决方法:方法一、用office 2007的安装程序修复office 2007。方法二、使用Windows Installer 清理实用工具,清理Microsoft Office system即可。安装失败的截图 阅读全文

posted @ 2011-10-24 11:58 zzwworld 阅读(277) 评论(0) 推荐(0)

2011年9月9日

强者定律------《科学》杂志(Science Magazine)

摘要: 强者定律------《科学》杂志(Science Magazine)1、蓝斯登原则:在你往上爬的时候,一定要保持梯子的整洁,否则你下来时可能会滑倒。提出者:美国管理学家蓝斯登。点评:进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。2、卢维斯定理:谦虚不是把自己想得很糟,而是完全不想自己。提出者:美国心理学家卢维斯点评:如果把自己想得太好,就很容易将别人想得很糟。3、托利得定理:测验一个人的智力是否属于上乘,只看脑子里能否同时容纳两种相反的思想,而无碍于其处世行事。提出者:法国社会心理学家托利得点评:思可相反,得须相成。4、刺猬理论:刺猬在天冷时彼此靠拢取暖,但保持一定距离,以免互相刺伤。点 阅读全文

posted @ 2011-09-09 21:34 zzwworld 阅读(521) 评论(0) 推荐(0)

2011年8月24日

PCI Express设备驱动 (9,用户态API)

摘要: 提供给用户态程序使用的API函数:/******* api.h *******/#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>#include <fcntl.h>#define u32 unsigned intint PcieOpen();u32 PcieWrite(int fd, void* src_addr, u32 ddr2_offset, u32 num_bytes);u32 PcieRead(int fd, void* dst_addr, u32 ddr2_of 阅读全文

posted @ 2011-08-24 19:54 zzwworld 阅读(1591) 评论(0) 推荐(1)

PCI Express设备驱动 (8,驱动的编译、安装、卸载)

摘要: 1、编译obj-m := card_driver.oKERNELDIR := /lib/modules/2.6.35.6-45.fc14.i686/build //Linux内核函数头文件或者内核源码所在文件PWD := $(shell pwd)all: $(MAKE) -C $(KERNELDIR) M=$(PWD) modulesclean: $(MAKE) -C $(KERNELDIR) M=$(PWD) clean编译生成的以.ko为后缀的文件,是驱动模块。2、加载驱动模块sudo insmod card_driver.ko 所有已经注册(即已经加载了驱动程序)的硬件设备... 阅读全文

posted @ 2011-08-24 17:16 zzwworld 阅读(2454) 评论(0) 推荐(0)

PCI Express设备驱动 (7,linux对于多个MSI中断向量的支持)

摘要: 从Linux2.6.30内核版本开始,Linux增加了对于请求多个MSI中断向量号的支持。下面的代码来自Linux2.6.38内核。(不同的cpu对MSI多中断的支持不尽相同,通过下面对Linux2.6.38内核源码的追溯分析,最终可以看到X86处理器不支持MSI多中断!!!)申请多个多个MSI中断向量号的函数为int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec);下面没有标志出处的源码都出自文件linux-2.6.38.6\drivers\pci\msi.c/** * pci_enable_msi_block - c 阅读全文

posted @ 2011-08-24 12:32 zzwworld 阅读(4284) 评论(0) 推荐(0)

2011年8月23日

PCI Express设备驱动 (6)

摘要: PCIe主控制器如何配置设备设备端的定义设备在自己的配置空间定义了自己的Capabilities list. 如果该设备支持MSI中断,在此capabilities list其中必定有一个节点的Capabilities ID=0x5D(0x5D 表明是MSI中断节点,其位置由设备自定义).主控制器1> 主控制器的工作是扫描到该设备后顺藤摸瓜,沿着Capabilities List找到MSI中断节点.2> 主控制器给设备上的Address Register和data register俩寄存器赋值(以MPC8548E为例,该值是中断控制器的MSI中断寄存器定义决定);设备MSI中断, 阅读全文

posted @ 2011-08-23 21:59 zzwworld 阅读(2070) 评论(0) 推荐(0)

PCI Express设备驱动 (5)

摘要: 和传统中断在系统初始化扫描PCI bus tree时就已自动为设备分配好中断号不同,MSI中断是在设备驱动程序初始化时调用pci_enable_msi() kernel API 时才分配中断号的。所以如果使用传统中断,在设备驱动程序中直接调用request_irq(pDev->irq, handler,...) 注册设备中断处理函数即可。而使用MSI中断的话,需先调用pci_enable_msi() 初始化设备MSI 结构,分配MSI中断号,并替换INTx中断号,再调用request_irq(pDev->irq, handler,...) 注册设备中断处理函数。除了卸载中断处理函数 阅读全文

posted @ 2011-08-23 21:09 zzwworld 阅读(2925) 评论(0) 推荐(0)

2011年8月22日

PCI Express设备驱动 (4,PCIe配置空间和PCI设备中的寄存器)

摘要: 1、访问PCI配置空间,PCI基本配置空间的读写使用下列函数: 原型定义在<linux/pci.h>int pci_read_config_byte(struct pci_dev *pdev, int where, u8 *val);int pci_read_config_word(struct pci_dev *pdev, int where, u8 *val);int pci_read_config_dword(struct pci_dev *pdev, int where, u8 *val);通过8位、16位或32位的数据传输访问配置空间。从由pdev标识的设备空间读入一个、 阅读全文

posted @ 2011-08-22 17:15 zzwworld 阅读(9685) 评论(0) 推荐(0)

PCI Express设备驱动 (3)

摘要: //打开设备文件系统调用对应的操作static int card_open(struct inode *inode, struct file *filp){ return 0;}//关闭设备文件系统调用对应的操作static int card_release(struct inode *inode, struct file *filp){ return 0;}static ssize_t card_read(struct file *file, char __user *buf, size_t count, loff_t *f_pos){ void* virt_addr = ... 阅读全文

posted @ 2011-08-22 15:22 zzwworld 阅读(2607) 评论(0) 推荐(0)

PCI Express设备驱动 (2)

摘要: #include "card.h"#include <linux/time.h>#include <linux/spinlock.h>#define DMA_MASK 0xffffffff#define test_dri_major 249 // 主设备号//#define INT_ASSERT_W 0x02 // DMA Write Complete//#define INT_ASSERT_R 0x10 // DMA Read Complete/* PCI 驱动基本框架 */static struct pci_device_id card_ids[ 阅读全文

posted @ 2011-08-22 15:16 zzwworld 阅读(3054) 评论(1) 推荐(1)

PCI Express设备驱动 (1)

摘要: Virtex®-5 FPGA IntegratedEndpoint Block for PCI Express® designs.(the integrated Endpoint block embedded in Virtex-5 devices.)//头文件card.h#include <linux/module.h>#include <linux/init.h> //指定初始化和清楚函数#include <linux/fs.h> //文件系统相关的函数和头文件#include <linux/cdev.h> #includ 阅读全文

posted @ 2011-08-22 11:03 zzwworld 阅读(3522) 评论(1) 推荐(1)

导航