![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
其他
文章平均质量分 50
InsideKernel
勤能补拙,向高手迈进!
展开
-
server-u的详细设置
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。 PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器从20端口向客户端的空闲端口发送连接请求,建立一转载 2008-01-25 15:28:00 · 6334 阅读 · 42 评论 -
COM 技术内幕学习之五 (动态链接)
一、进程内服务器原创 2008-03-10 16:48:00 · 742 阅读 · 0 评论 -
COM 技术内幕学习之九 (简化程序编写)
1、使用智能指针2、使用包装类原创 2008-03-13 16:39:00 · 775 阅读 · 0 评论 -
DLL(MFC)通过Window消息向C#程序传递数据
这是我在用C#开发IOServer遇到的一个问题,该程序需要用到原先用MFC开发的DLL,最大问题是该dll运行过程中的一些信息,通过window消息向指定的hwnd(窗体句柄)发送数据。数据的指针放在WParam参数里,LParam参数是数据的类型信息。 C#提供 m.GetLParam()函数,可惜我的数据放在WParam参数里(这个还不能修改,否则原有程序就无法运行原创 2008-03-11 15:25:00 · 492 阅读 · 0 评论 -
COM 技术内幕学习之六 (HRESULT,GUID)
一、HRESULT 1、32位 (高16位表示设备代码,低16位表示返回代码)2、用SUCCEED和FAILED函数来判断调用是否成功3、MAKE_HRESULT宏来生成自己的HRESULT二、GUID (Globally Unique Identifier)1、IID和CLSID都是GUID 2、128位 (16字节)3、可以通过CoCreateGuid函数生成GUI原创 2008-03-11 11:15:00 · 1011 阅读 · 0 评论 -
COM 技术内幕学习之八(包容和聚合)
一、实现继承1、COM支持的是接口继承,它继承的是抽象基类的接口COM为什么不用实现继承?(基类组件的改动引起派生类组件的改动)2、一般的继承是派生类继承基类的实现3、用组件包容来模拟实现继承在C++中对类的改造是通过包容和继承来实现,对组件的改造是通过包容和聚合来实现二、包容和聚合1、包容和聚合实际上是一个组件使用另外一个组件的一种技术2、包容----->外部组件原创 2008-03-11 15:25:00 · 1645 阅读 · 0 评论 -
COM 技术内幕学习之七 (类厂)
一、类上下文1、进程内服务器 (DLL)2、进程中处理器 (只实现了一个组件中的一部分的进程中组件)3、本地服务器 (EXE)4、远程服务器 (要DCOM支持) 二、为什么需要类厂1、CoCreateInstance函数的不灵活性不能控制组件建立的过程,如控制内存装载位置和对客户进行权限验证。三、类厂1、唯一功能是创建其他的组件2、某个特定的类厂只创建同某个原创 2008-03-11 11:49:00 · 1511 阅读 · 0 评论 -
COM 组件技术内幕之四 (引用计数)
一、引用计数是一种内存管理计数,是一种能让组件自己删除自己的最简单且最有效率的方法。二、正确使用引用计数的三个规则1、对返回接口指针的函数,返回之前调用AddRef (CreateInstance和QueryInterface)2、使用完接口后,调用Release3、赋值之后要调用AddRef三、为每个接口维护一个引用计数的好处1、便于调试程序2、有利于资源的按需原创 2008-03-10 15:48:00 · 1026 阅读 · 0 评论 -
COM 技术内幕学习之二 (接口)
一、接口1、C++接口 (导出函数)2、DLL接口 (成员函数集)3、COM接口 (包含一个函数指针数组的内存结构,用抽象基类表示)二、优点1、可复用的软件架构 (只要接口不变,应用程序不需进行任何改变)2、隐藏实现细节三、特性1、必须继承IUnkown抽象基类 (本身也是抽象类)2、一个组件可以包含多个接口 (用多重继承实现)3、函数声明约定使用标准调原创 2008-03-08 11:12:00 · 896 阅读 · 0 评论 -
VC 中ASSERT宏和VERIFY宏的区别
上学的时候经常看到一些VC编程方面的书上说,在用VC开发程序的时候,最好用VERIFY宏代替ASSERT,当时不知道是其中的原因,今天看了两个宏的定义,终于明白了。1、在DEBUG模式下,两个宏的功能是一样的2、在RELEASE模式下,ASSERT不会对参数里的表达式进行计算,VERIFY会计算里面的表达式(如果是函数,将会调用该函数)。 部分定义如下:#ifdef _DEBU原创 2008-02-29 17:46:00 · 3363 阅读 · 1 评论 -
关于windows错误信息(1407:找不到窗口类别)的原因
今天,我偶然发现我做的一个软件的执行程序竟然有3M多,细想一下,原来是资源中有很多的BMP图片,于是我就想将资源文件独立出来,写入一个DLL中去,同时把主程序的资源全部删除。我先将原有的资源文件(.rc,.h)备份好,完成资源DLL,删除主程序的资源,在主程序的InitInstance()函数中加入LoadLibrary和AfxSetResourceHandle。当我运行主程序的时候,原创 2008-02-03 14:18:00 · 6332 阅读 · 1 评论 -
FTP主动模式(PORT)与被动模式(Passive)
原文:http://slacksite.com/other/ftp.html CU链接:http://bbs.chinaunix.net/forum/viewtopic.php?t=574966 感谢CU网友pidan和missing-cn翻译,整理由wolfg完成。主动FTP与被动FTP-权威解释目录 开场白 基础 主动FTP转载 2008-01-25 14:42:00 · 2349 阅读 · 0 评论 -
通过网页链接打开应用程序客户端的两种实现方式
近期公司要做一个项目,其中一个需求就是通过网页链接能够打开我们的IM软件,于是我对QQ和MSN、阿里旺旺进行了一番研究。发现主要是通过两种方式来实现的:第一种方式是修改注册表的方式,QQ和阿里旺旺就是通过这种方式实现的。基本方法就是在安装过程中或者是程序第一次启动时在注册表创建类似下面的键项和键值,QQ:Windows Registry Editor Version 5.00[HKEY_CL原创 2008-01-10 10:16:00 · 15239 阅读 · 1 评论