
Windows Programming
文章平均质量分 76
alvachien
Development Architect, SAP Labs China.
展开
-
COM复习(一) : COM复用的中Containment(包容)和Aggregation(聚合)的实现
Containment是一种比较简单的复用方法,如果Component B复用Component A,Component B实际上是Component A的一个客户,Component B向客户提供的Component A的功能实际上是Component B直接调用Component A完成的。当然Component B可以扩充Component A的功能。Component B可以直接使用已原创 2005-01-04 17:39:00 · 2727 阅读 · 0 评论 -
那些年用过的UI开发平台
屈指算来,在我不长也不能算短的职业生涯中,接触了数代 的UI技术:MFC (Microsoft Foundation Class)- Win32上最强大的Class Library,没有之一。VS唯一的对手Borland出品的C++ Builder同样支持MFC。在Win32时代,MFC配合强大的C++,将MVC Pattern普及到前所未有的地步。虽然我的C++生涯中,使用MFC做界原创 2013-10-31 22:53:18 · 834 阅读 · 0 评论 -
重学Windows(二):得到Windows的版本及平台:Win32(x86), Win64 (x64)还是Win64(IA64)
之所以要写这篇文字,是在做一个安装程序时发现要探测Windows版本信息格外复杂,比如想根据平台不同可选择不同的安装文件,运行在x86平台上的Windows 32bit OS只能安装32bit文件,而运行在x64平台上的Windows 64bit OS则可以选择安装32bit或64bit(x64),但是运行在x64平台上的Windows 32bit OS又只能安装32bit了,最后,运行在IA64原创 2008-09-13 15:16:00 · 1967 阅读 · 0 评论 -
重学Windows(一):Boot Options
在Windows Vista出现之前,Windows的Boot Options是存储在Boot.ini文件(支持BIOS的机器)或者NVRAM (non-volative RAM,支持EFI的机器,通常是Itanium处理器的机器)中。一个常见的Boot.ini文件格式如下: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)par原创 2008-05-04 21:06:00 · 2581 阅读 · 0 评论 -
DirectSound的例子程序CaptureSound(.NET version)的一个Bug
最近笔者在.NET平台上学着使用DirectSound来做一个简单的录音和WAV文件合并的功能, 当然DirectX自带的CaptureSound例子提供了一切录音的源代码,不过我发现其中有个Bug,导致Release版本的程序无辜退出。DirectX SDK的版本: August 2007.代码(位于文件MainForm.cs):void InitNotifications(){原创 2007-09-13 18:23:00 · 1378 阅读 · 2 评论 -
DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析1. CRendererInputPin类[renbase.h/renbase.cpp]派生自CBaseInputPin。a) 成员变量:CBaseRenderer *m_pRenderer;b) IPin接口和继承的函数HRESULT BreakConnect();原创 2005-02-25 16:07:00 · 3377 阅读 · 0 评论 -
DirectShow 学习(七) CTransInPlaceFilter及相关联Pin类的源代码解析
DirectShow 学习(七): CTransInPlaceFilter及相关联Pin类的源代码解析1. CTransInPlaceInputPin类[transip.h/transip.cpp]派生自CTransformInputPin。a) 成员变量:CTransInPlaceFilter * const m_pTIPFilter; // our fil原创 2005-01-27 17:08:00 · 10569 阅读 · 0 评论 -
DirectShow 学习(六) CTransfromFilter及相关联Pin类的源代码解析
DirectShow 学习(六): CTransfromFilter及相关联Pin类的源代码解析1. CTransformInputPin类派生自CBaseInputPin。a) 成员变量CTransformFilter *m_pTransformFilter;b) IPin的接口函数:STDMETHODIMP QueryId(LPWSTR原创 2005-01-24 17:54:00 · 5220 阅读 · 0 评论 -
DirectShow 学习(五) CSource类和其一个具体实现例子的源代码分析
1. CSourceStream类,是CSource类的OutputPin[source.h/source.cpp]派生自CAMThread和CBaseOutputPinl 成员变量:CSource *m_pFilter; // The parent of this streaml 新增加的virtual函数:// Override thi原创 2005-01-18 10:10:00 · 6415 阅读 · 0 评论 -
DirectShow 学习(四) 部分Helper Classes类源代码分析
1. CRefTime类[reftime.h]CRefTime类维护了REFERENCE_TIME m_time;的成员变量。单位为100ns。另外,几个跟该类相关的宏:const LONGLONG MILLISECONDS = (1000); // 10 ^ 3const LONGLONG NANOSECONDS = (1000000000); //原创 2005-01-13 15:23:00 · 5557 阅读 · 2 评论 -
DirectShow 学习(一) COM实现部分和部分辅助源码浅读
1. BaseClasses中实现COM的部分源代码分析[combase.h/combase.cpp] o class CBaseObject是BaseClasses中的基类,它只维护一个m_cObjects的计数信息。同时它只支持输入名称的Constructor。 o CUnknown是实现了COM的基类,它从INonDelegationUnknow原创 2005-01-05 17:04:00 · 6561 阅读 · 5 评论 -
DirectShow学习(二)CBasePin类、CBaseOutputPin类和CBaseInputPin类源代码解析
DirectShow 学习(二):CBasePin类、CBaseOutputPin类和CBaseInputPin类源代码解析1. IPin接口IPin : public IUnknown{ public: // 连接两个Pin,主动连接InputPin virtual HRESULT STDMETHODCALLTYPE Connect(原创 2005-01-10 15:37:00 · 8014 阅读 · 1 评论 -
DirectShow 学习(三) CBaseFilter类源代码解析
1. IAMovieSetup接口定义IAMovieSetup : public IUnknown{public:// Adds the filter to the registry.virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;// Removes the filter from the registry.vir原创 2005-01-11 12:20:00 · 6795 阅读 · 1 评论 -
Angular 2的HTML5 pushState在ASP.NET Core上的解决思路
Angular 2的HTML5 pushState在ASP.NET Core上的解决思路正如Angular 2在Routing & Navigation中所提及的那样,Angular 2是推荐使用HTML5 pushState的URL style的。localhost:3002/crisis-center/而不是Angular 1中所使用的“hash URL sytle“localhost:3002原创 2016-08-24 10:26:48 · 1033 阅读 · 0 评论