
Win32/COM
文章平均质量分 72
ATField
目前在微软公司Common Language Runtime .NET Framework 的.NET Native Tool Chain Team工作,目前主要负责开发.NET Native相关技术
展开
-
转贴一篇Matt Pietrek的关于SEH的文章
全文比较长,链接在这里:http://www.microsoft.com/msj/0197/exception/exception.aspx转载 2007-02-10 19:26:00 · 2392 阅读 · 0 评论 -
COM和套间(Apartments) 1 - 基本知识
OverviewCOM技术过时了吗?这句话也对也不对。从技术上讲,确实COM的使用率在下降,但是从思想上来说,COM的面向接口的思想正在被Java和.NET发扬光大。那我们还需要和COM打交道吗?这取决于你工作的领域。虽然现在微软的平台在慢慢向着.NET迁移,不过,在维护原有非托管代码,编写和Windows系统组件打交道的程序,以及使用CLR调用非托管代码的时候,COM或多或少都是不可避免的。原创 2007-10-14 22:16:00 · 6456 阅读 · 3 评论 -
Calling Convention的总结
因为经常需要和不同的Calling Convention打交道,前段时间整理了一下它们之间的区别,如下: 清理堆栈 参数压栈顺序原创 2007-10-28 23:48:00 · 9693 阅读 · 2 评论 -
如何在NTFS文件系统中创建文件的Link
大部分朋友可能知道UNIX提供了创建文件的Link的功能,而用过Windows的NTFS文件系统所支持的Link功能的朋友可能就没有那么多了(注意我说的不是Shortcut)。今天正好由于工作原因研究了一下相关内容,整理一下分享出来。本文简单介绍如何在Windows系统中使用NTFS文件系统所提供的功能创建Link。NTFS支持两种Link,Junction Point和Hard Link。J原创 2007-08-13 20:24:00 · 4935 阅读 · 0 评论 -
使用WinDbg对Windows Live Toolbar死锁的简单分析
我一直在用Windows Live Toolbar中的Live Favorites来同步我的书签信息,但是速度总是很慢,甚至完全死掉。今天闲来无事,刚看到Mark的一篇Blog http://blogs.technet.com/markrussinovich/archive/2006/08/31/453100.aspx,对于他不放过任何问题的精神很是钦佩,准备效法一番。正好遇到IE关闭之后停原创 2007-08-11 00:48:00 · 4392 阅读 · 1 评论 -
如何构造一个元素类型为Struct的SafeArray
在有些时候,我们需要构造一个元素类型为Struct的SafeArray,在MSDN并没有文档解释到底应该如何去做到这一点,下面的代码片断解释了如何去构造这样一个SafeArray。假设我们有如下的Struct: struct myStruct {原创 2007-08-12 16:50:00 · 3975 阅读 · 3 评论 -
Visual Studio 2005的JIT Debugger在Vista上面无法正常工作
Visual Studio 2005的Jit Debugger在Vista上不工作,即使你打了SP1和Update for Windows Vista也不行。修改Jit Debugger使其工作在Vista上需要大量的修改,因此这个工作被移到Visual Studio Code Name Orcas,也就是2007中去了。不过不排除微软会将修改Port到2005的下一个SP中的可能。如果你希望Ji原创 2007-05-10 19:39:00 · 2354 阅读 · 0 评论 -
转贴:Mark Russinovich的Inside Vista Kernel系列文章,讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性
Mark Russinovich的Inside Vista Kernel系列文章。Mark是SysInternals的创始人之一,是多个著名系统工具的作者,是Windows系统内核方面的高手。不久前他接受了Microsoft的Technical Fellow职位,参与Windows Kernel开发。本文讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性。文章共分三个转载 2007-04-27 00:26:00 · 2769 阅读 · 0 评论 -
转载:如何指定程序在Vista上面需要提升权限运行(Elevated)
在Manifest中加上下面内容即可: level=""asInvoker"" uiAccess=""false"" /> 全文请见:http://blogs.msdn.com/shawnfa/archi原创 2007-04-19 22:33:00 · 2725 阅读 · 1 评论 -
如何知道可执行文件是32-bit还是64-bit
可以使用GetBinaryType API来获得这个信息:BOOL GetBinaryType( LPCTSTR lpApplicationName, LPDWORD lpBinaryType);Binary Type可以是下面的值。 Value Meaning原创 2007-04-19 21:02:00 · 2972 阅读 · 0 评论 -
国际化编程中Locale相关概念的一些解释
Locales一般常用的并且容易造成混淆的Locale有3种:System Locale, User Locale, Thread Locale1. System Locale:系统区域设置。决定了非Unicode程序所使用的代码页,如下:System Locale对应的Code Page可以用GetACP和GetOEMCP来获得。System Locale无法原创 2007-04-13 22:19:00 · 3701 阅读 · 0 评论 -
MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
1. Introduction当我们在用MFC编程的时候,我们经常用到AfxGetApp()来获得当前的CWinApp的Instance。看看MFC的源代码中AfxGetApp()的实现,你会发现AfxGetApp()的实现并不像一般情况下面那样直接: _AFXWIN_INLINE CWin原创 2007-03-04 14:38:00 · 10269 阅读 · 1 评论 -
如何在程序启动的时候自动挂接Debugger
在某些情况下,你可能需要调试一个由其他程序所启动的进程的启动代码,而这个过程并不由你所控制。比较典型的例子有COM进程外服务器和Windows Service。 通常你可以在代码中手动加上DebugBreak API调用来自动启动调试程序,大部分情况这都能工作。 不过,某些情况下DebugBreak会不起作用。有可能该断点异常被SEH所截获(COM服务器的情况下)或者在调试原创 2007-03-01 15:45:00 · 3580 阅读 · 0 评论 -
API Hook完全手册
注:本文是根据我两年前写的一个系统行为监测程序写成(参考了一些书籍和文章)。最近在论坛上看到有不少人在问关于API Hook的问题,便写成此文,希望能对朋友们在写API Hook代码的时候能够有所帮助。1 基本原理API Hook是什么我就不多说了,直接进入正题。API Hook技术主要有下面的技术难点:1. 如何将自己的的代码Inject到其他进程2. 如何Hoo原创 2007-02-10 19:20:00 · 19031 阅读 · 3 评论 -
MFC中PretranslateMessage的实现
(不小心删掉了这篇文章,现在把它翻出来,重新发表)在MFC里面,PretranslateMessage是一个很重要的虚函数。这个函数的作用这里就不谈了,很多地方都有涉及,这里只谈一下其实现的机制。谈到PretranslateMessage的实现,便不得不谈到MFC消息循环的实现。MFC通过CWinApp类中的Pumpmessage函数实现消息循环,但是实际的消息循环代码位于CWinThread原创 2007-02-15 21:39:00 · 3096 阅读 · 0 评论 -
COM对象创建过程总结(进程外和进程内)
以前研究过DLL的,刚刚研究了一下EXE的情况,现在总结一下:进程内DLL的情况下: 客户调用CoCreateInstance COM调用CoGetClassObject想获得类厂的接口指针 CoGetClassObjec通过注册表找到Dll M加载该DLL到客户的进程中 调用该DLL的DllGetCla原创 2007-02-08 23:19:00 · 6431 阅读 · 0 评论 -
ATL:IDispatchImpl, IDispEventImpl, IDispEventSimpleImpl的区别和联系
这几个类都和IDispatch的实现有关系,但是他们提供的IDispatch的实现是不同的。 IDispatchImpl只能用于双接口(Dual Interface)的实现。IDispatchImpl本身的IDispatch接口实现是使用ITypeInfo::Invoke的。ITypeInfo简单来说是一个代表TypeLibrary中一个类型的COM对象,比如某个interface IA。而IT原创 2008-10-05 22:31:00 · 5753 阅读 · 0 评论