<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[baund的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/baund</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baund]]></copyright><item><title><![CDATA[python中的静态成员方法 和 类成员方法]]></title><link>https://blog.youkuaiyun.com/baund/article/details/8714991</link><guid>https://blog.youkuaiyun.com/baund/article/details/8714991</guid><author>baund</author><pubDate>Sun, 24 Mar 2013 23:09:38 +0800</pubDate><description><![CDATA[Python的静态方法和类成员方法





Python的静态方法和类成员方法都可以被类或实例访问，两者概念不容易理清，但还是有区别的：

1）静态方法无需传入self参数，类成员方法需传入代表本类的cls参数；

2）从第1条，静态方法是无法访问实例变量的，而类成员方法也同样无法访问实例变量，但可以访问类变量；

3）静态方法有点像函数工具库的作用，而类成员方法则更接近]]></description><category></category></item><item><title><![CDATA[IoEnumerateDeviceObjectList 枚举驱动的所有设备 文件过滤驱动 windows内核开发]]></title><link>https://blog.youkuaiyun.com/baund/article/details/7059920</link><guid>https://blog.youkuaiyun.com/baund/article/details/7059920</guid><author>baund</author><pubDate>Sat, 10 Dec 2011 17:22:58 +0800</pubDate><description><![CDATA[IoEnumerateDeviceObjectList函数，用来枚举某驱动下的所有设备，主要是遍历deviceobject->nextobject字段，该函数第一次可以将DeviceObjectListSize传递0，来获取实际的设备个数，第二次调用，再获取整个设备列表，实现如下：


在文件过滤驱动中，常用该函数来枚举某文件系统下的所有设备，然后根据名字来区别是卷设备还是控制设备，空名字即]]></description><category></category></item><item><title><![CDATA[文件过滤驱动 文件系统激活通知 IoRegisterFsRegistrationChange函数实现]]></title><link>https://blog.youkuaiyun.com/baund/article/details/7055043</link><guid>https://blog.youkuaiyun.com/baund/article/details/7055043</guid><author>baund</author><pubDate>Thu, 08 Dec 2011 22:21:42 +0800</pubDate><description><![CDATA[IoRegisterFsRegistrationChange 注册一个文件系统变动回调函数，用来被通知文件系统的激活和注销，激活是指第一次加载文件系统，当一个文件系统已经加载后，当加载一个同种文件系统的卷时，该文件系统就和激活没关系。话说该函数调用后，激活的文件系统会重新激活一遍，在2k SP4之后的系统都会这样做。

现在考虑下，这种机制是怎么实现的，猜测是在注册的时候，注册完成后，系统将各]]></description><category></category></item><item><title><![CDATA[DO_DEVICE_INITIALIZING 创建设备 iocreatedevice windows内核开发]]></title><link>https://blog.youkuaiyun.com/baund/article/details/7038521</link><guid>https://blog.youkuaiyun.com/baund/article/details/7038521</guid><author>baund</author><pubDate>Sun, 04 Dec 2011 00:19:49 +0800</pubDate><description><![CDATA[deviceobject->flag &= ~DO_DEVICE_INITIALIZING;

当设置DO_DEVICE_INITIALIZING标志时，I/O管理器将拒绝所有打开该设备句柄的请求以及向该设备对象上附着其他设备对象。
故驱动程序完成初始化后，须清除该标志。

在IoCreateDevice创建设备完成后，默认devieobject->flags==0xc0，是包含DO_D]]></description><category></category></item><item><title><![CDATA[文件过滤驱动 VPB 卷参数块 生命周期   IoGetRelatedDeviceObject]]></title><link>https://blog.youkuaiyun.com/baund/article/details/7027290</link><guid>https://blog.youkuaiyun.com/baund/article/details/7027290</guid><author>baund</author><pubDate>Wed, 30 Nov 2011 16:03:10 +0800</pubDate><description><![CDATA[文件过滤驱动中，VPB（卷参数块），它将文件系统卷设备和磁盘设备卷设备联系起来，结构如下：
typedef struct _VPB {
    CSHORT Type;
    CSHORT Size;
    USHORT Flags;
    USHORT VolumeLabelLength; // in bytes
    struct _DEVICE_OBJECT *Devic]]></description><category></category></item><item><title><![CDATA[根据符号名 得到设备名]]></title><link>https://blog.youkuaiyun.com/baund/article/details/7017762</link><guid>https://blog.youkuaiyun.com/baund/article/details/7017762</guid><author>baund</author><pubDate>Sun, 27 Nov 2011 22:05:18 +0800</pubDate><description><![CDATA[根据符号名，得到设备的名称，下面举例，根据c盘这个符号名，得到c盘的设备名称。]]></description><category></category></item><item><title><![CDATA[static 静态成员变量 静态成员函数 类中使用]]></title><link>https://blog.youkuaiyun.com/baund/article/details/6193094</link><guid>https://blog.youkuaiyun.com/baund/article/details/6193094</guid><author>baund</author><pubDate>Fri, 18 Feb 2011 12:59:00 +0800</pubDate><description><![CDATA[<br />关于在类中使用static的一些情况：<br /> <br />静态成员函数和静态成员变量的调用格式，尽量采用类名::成员的格式，不要以对象来调用<br /><br />1. static func静态成员函数<br />  1) 其地址可以直接由函数指针来存储，普通函数其地址只能是由类中的函数指针来存储，如：<br />    class base{ <br />         static int func1(); <br />         int func2(); <br />   ]]></description><category></category></item><item><title><![CDATA[DebugView for Vista Windows 7 打印显示问题 ]]></title><link>https://blog.youkuaiyun.com/baund/article/details/5541976</link><guid>https://blog.youkuaiyun.com/baund/article/details/5541976</guid><author>baund</author><pubDate>Thu, 29 Apr 2010 11:49:00 +0800</pubDate><description><![CDATA[    使用DebugView打印内核调试信息是开发驱动的非常重要的手段，但DebugView在VISTA/WINDOWS 7下却无法获取内核的调试日志，修改方法是：    HKLM/SYSTEM/CurrentControlSet/Control/Session Manager，打开或者创建子项Debug Print Filter，然后新建一个DWORD值DEFAULT，将其设置]]></description><category></category></item><item><title><![CDATA[std::set用法]]></title><link>https://blog.youkuaiyun.com/baund/article/details/5505260</link><guid>https://blog.youkuaiyun.com/baund/article/details/5505260</guid><author>baund</author><pubDate>Tue, 20 Apr 2010 08:12:00 +0800</pubDate><description><![CDATA[std::set成员函数及简要使用方法函数	声明	说明insert	pair insert(const value_type& x) iterator insert(iterator position, const value_type& x)	1、向集合中添加一个元素 2、在迭代器指向的位置上放置指定的元素count	size_type count(const key_typ]]></description><category></category></item><item><title><![CDATA[ errorC2471:cannot update program database vc90.pdb ]]></title><link>https://blog.youkuaiyun.com/baund/article/details/5217508</link><guid>https://blog.youkuaiyun.com/baund/article/details/5217508</guid><author>baund</author><pubDate>Wed, 20 Jan 2010 15:50:00 +0800</pubDate><description><![CDATA[解决办法： C/C++ | General | Debug Information format | C7 Compatible (/Z7)C/C++ | Code Generation | Enable String Pooling | Yes (/GF)Linker |Debuging |General Debug Info | Yes (/DEBUG)]]></description><category></category></item><item><title><![CDATA[Win32多线程开发(Critical,Event,Mutex,Semphore)]]></title><link>https://blog.youkuaiyun.com/baund/article/details/4654128</link><guid>https://blog.youkuaiyun.com/baund/article/details/4654128</guid><author>baund</author><pubDate>Sun, 11 Oct 2009 16:35:00 +0800</pubDate><description><![CDATA[  一.   Mutex 相关的API:HANDLE CreateMutex(PSECURITY_ATTRIBUTES psa, BOOL fInitialOwner, PCTSTR pszName);HANDLE OpenMutex(DWORD fdwAccess, BOOL bInheritHandle, PCTSTR pszName);HANDLE]]></description><category></category></item></channel></rss>