CodeFx: 微軟一站式開發技術框架解決方案 2009-7-8 新增sample code簡介

微軟一站式開發技術框架解決方案 2009年7月8號更新:
下載地址:
如果您是第一次聽說All-In-One Code Framework這個項目,請參閱主頁上的相關介紹http://cfx.codeplex.com/,以及這兩篇blog
讓我們一起來看看這次更新中新增了哪些sample code。
CppSparseFile, CSSparseFile, VBSparseFile
這三個example演示瞭如何使用不同編程語言(C++, C#, VB.NET)操作NTFS 稀疏文件(sparse file)。所謂稀疏文件指的是文件中出現大量的0數據。這些數據對我們用處不大,但卻佔用了我們好幾GB甚至TB的空間。NTFS文件系統對此進行了優化,那些無用的0字節可以被標誌爲稀疏區域,使得這些0字節幾乎不佔用任何空間。所以你會發現,一個稀疏文件可能表面上有100GB,實際佔用的磁盤空間卻只有幾KB。CppSparseFile, CSSparseFile, VBSparseFile 包含了稀疏文件的所有常見操作,如創建,查詢稀疏區域,獲得稀疏文件實際大小,檢查一個文件是否是稀疏文件等等。
CppFileHandle
這是一個和文件句柄相關的例子。我們在MSDN論壇作技術支持過程中,經常遇到客戶詢問如何用編程方法枚舉某一個進程打開的所有文件,或者給定一個文件,如何知道哪些進程正打開着它。雖然Process Explorer可以很輕鬆地回答上述兩個問題,仍有不少客戶追問如何自行編程實現這樣的功能。這就需要用到WMI class Win23_Process,或者用到undocumented API,NtQuerySystemInformation。CppFileHandle演示的就是後者。WMI的解決方案我們會在近期加入到CppFileHandle中。
CSListFilesInDirectory
這個sample code同樣源於一個在論壇裏經常被問到的問題:.NET BCL中的Directory.GetFiles 方法可以枚舉某個文件夾下的文件,但它有個很致命的缺點。Directory.GetFiles是等枚舉到所有文件以後纔會返回。如果該文件夾下的文件很多,或者這是一個網絡文件夾,即訪問速度比較慢,Directory.GetFiles就會hang在那裏。你可能就需要同步地等待它的返回。一個理想的解決方案是,每枚舉到一個文件,就立刻返回這個文件,而不是等待枚舉到所有文件。CSListFilesInDirectory就演示瞭如何做到這一點。
CSImpersonateUser, VBImpersonateUser
這兩個是在.NET中做impersonation的例子。其中封裝了一個簡單安全的impersonation的類,讓你輕鬆模擬某個用戶帳號進行操作。
VBUac
這是Vista UAC相關的一個VB.NET的例子。和CSUac、CppUac例子對應,演示瞭如何判斷當前進程的Integrity level,以及如何通過ShellExecute(Ex)或者manifest文件來elevate一個進程。
CSSMTPSendEmail, VBSMTPSendEmail
顧名思義,CSSMTPSendEmail 和 VBSMTPSendEmail 演示瞭如何使用SMTP發送電子郵件。示例中還演示了兩個經常問到的場景:添加附件和在郵件中嵌入圖片。
ATLCOMClient
這是一個ATL編寫的COM客戶端。其中重點演示瞭如何在ATL中處理COM的event。
 
最後,如果您對新版的CodeFx有任何建議和反饋,請在此提出。謝謝!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章