张羿的CSDN专栏

正在开发.NET Native

ATL:IDispatchImpl, IDispEventImpl, IDispEventSimpleImpl的区别和联系

这几个类都和IDispatch的实现有关系,但是他们提供的IDispatch的实现是不同的。 IDispatchImpl只能用于双接口(Dual Interface)的实现。IDispatchImpl本身的IDispatch接口实现是使用ITypeInfo::Invoke的。ITypeInfo简...

2008-10-05 22:31:00

阅读数:5099

评论数:0

Calling Convention的总结

因为经常需要和不同的Calling Convention打交道,前段时间整理了一下它们之间的区别,如下:   清理堆栈 ...

2007-10-28 23:48:00

阅读数:8692

评论数:2

COM和套间(Apartments) 1 - 基本知识

OverviewCOM技术过时了吗?这句话也对也不对。从技术上讲,确实COM的使用率在下降,但是从思想上来说,COM的面向接口的思想正在被Java和.NET发扬光大。那我们还需要和COM打交道吗?这取决于你工作的领域。虽然现在微软的平台在慢慢向着.NET迁移,不过,在维护原有非托管代码,编写和Wi...

2007-10-14 22:16:00

阅读数:5829

评论数:4

如何在NTFS文件系统中创建文件的Link

大部分朋友可能知道UNIX提供了创建文件的Link的功能,而用过Windows的NTFS文件系统所支持的Link功能的朋友可能就没有那么多了(注意我说的不是Shortcut)。今天正好由于工作原因研究了一下相关内容,整理一下分享出来。本文简单介绍如何在Windows系统中使用NTFS文件系统所提供...

2007-08-13 20:24:00

阅读数:4515

评论数:0

如何构造一个元素类型为Struct的SafeArray

在有些时候,我们需要构造一个元素类型为Struct的SafeArray,在MSDN并没有文档解释到底应该如何去做到这一点,下面的代码片断解释了如何去构造这样一个SafeArray。假设我们有如下的Struct: struct m...

2007-08-12 16:50:00

阅读数:3469

评论数:2

使用WinDbg对Windows Live Toolbar死锁的简单分析

 我一直在用Windows Live Toolbar中的Live Favorites来同步我的书签信息,但是速度总是很慢,甚至完全死掉。今天闲来无事,刚看到Mark的一篇Blog http://blogs.technet.com/markrussinovich/archive/2006/08/31...

2007-08-11 00:48:00

阅读数:3975

评论数:1

Visual Studio 2005的JIT Debugger在Vista上面无法正常工作

Visual Studio 2005的Jit Debugger在Vista上不工作,即使你打了SP1和Update for Windows Vista也不行。修改Jit Debugger使其工作在Vista上需要大量的修改,因此这个工作被移到Visual Studio Code Name Orca...

2007-05-10 19:39:00

阅读数:2120

评论数:0

转贴:Mark Russinovich的Inside Vista Kernel系列文章,讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性

Mark Russinovich的Inside Vista Kernel系列文章。Mark是SysInternals的创始人之一,是多个著名系统工具的作者,是Windows系统内核方面的高手。不久前他接受了Microsoft的Technical Fellow职位,参与Windows Kernel开...

2007-04-27 00:26:00

阅读数:2561

评论数:0

转载:如何指定程序在Vista上面需要提升权限运行(Elevated)

在Manifest中加上下面内容即可:                                                       level=""asInvoker""               uiAccess=""...

2007-04-19 22:33:00

阅读数:2494

评论数:1

如何知道可执行文件是32-bit还是64-bit

可以使用GetBinaryType API来获得这个信息:BOOL GetBinaryType(  LPCTSTR lpApplicationName,  LPDWORD lpBinaryType);Binary Type可以是下面的值。 Value ...

2007-04-19 21:02:00

阅读数:2637

评论数:0

国际化编程中Locale相关概念的一些解释

Locales一般常用的并且容易造成混淆的Locale有3种:System Locale, User Locale, Thread Locale1.     System Locale:系统区域设置。决定了非Unicode程序所使用的代码页,如下:System Locale对应的Code Page...

2007-04-13 22:19:00

阅读数:3207

评论数:0

MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态

1.      Introduction当我们在用MFC编程的时候,我们经常用到AfxGetApp()来获得当前的CWinApp的Instance。看看MFC的源代码中AfxGetApp()的实现,你会发现AfxGetApp()的实现并不像一般情况下面那样直接: ...

2007-03-04 14:38:00

阅读数:9590

评论数:1

如何在程序启动的时候自动挂接Debugger

  在某些情况下,你可能需要调试一个由其他程序所启动的进程的启动代码,而这个过程并不由你所控制。比较典型的例子有COM进程外服务器和Windows Service。 通常你可以在代码中手动加上DebugBreak API调用来自动启动调试程序,大部分情况这都能工作。 不过,某些情况下DebugBr...

2007-03-01 15:45:00

阅读数:2977

评论数:0

MFC中PretranslateMessage的实现

(不小心删掉了这篇文章,现在把它翻出来,重新发表)在MFC里面,PretranslateMessage是一个很重要的虚函数。这个函数的作用这里就不谈了,很多地方都有涉及,这里只谈一下其实现的机制。谈到PretranslateMessage的实现,便不得不谈到MFC消息循环的实现。MFC通过CWin...

2007-02-15 21:39:00

阅读数:2786

评论数:0

转贴一篇Matt Pietrek的关于SEH的文章

全文比较长,链接在这里:http://www.microsoft.com/msj/0197/exception/exception.aspx

2007-02-10 19:26:00

阅读数:2140

评论数:0

API Hook完全手册

注:本文是根据我两年前写的一个系统行为监测程序写成(参考了一些书籍和文章)。最近在论坛上看到有不少人在问关于API Hook的问题,便写成此文,希望能对朋友们在写API Hook代码的时候能够有所帮助。1 基本原理API Hook是什么我就不多说了,直接进入正题。API Hook技术主要有下面的技...

2007-02-10 19:20:00

阅读数:17484

评论数:3

COM对象创建过程总结(进程外和进程内)

以前研究过DLL的,刚刚研究了一下EXE的情况,现在总结一下:进程内DLL的情况下: 客户调用CoCreateInstance COM调用CoGetClassObject想获得类厂的接口指针 CoGetClassObjec通过注册表找到Dll M加载...

2007-02-08 23:19:00

阅读数:5003

评论数:0

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