1、啟動元件得到乙個介面指標(inte***ce)後,不要呼叫addref()。因為系統知道你得到了乙個指標,所以它已
經幫你呼叫了addref()函式;
2、通過queryinte***ce()得到另乙個介面指標後,不要呼叫addref()。因為......和上面的道理一樣;
3、當你把介面指標賦值給(儲存到)另乙個變數中的時候,請呼叫addref();
4、當不需要再使用介面指標的時候,務必執行release()釋放;
5、當使用智慧型指標的時候,可以省略指標的維護工作;
1、bstr 內存在上回書中,已經有比較豐富的介紹了,不再重複;
2、cotask***()函式族,其本質上就是呼叫c語言的函式(malloc...);
3、imalloc 介面又是對 cotask***() 函式族的乙個包裝。包裝後,同時增強了一些功能,比如:
imalloc::getsize()可以取得尺寸,使用 imallocspy 可以監視記憶體的使用;
m_bi.hwndowner = hwnd;
m_bi.pidlroot = null;
m_bi.lpsztitle = lptitle;
m_bi.lpfn = null;
m_bi.lparam = null;
m_bi.pszdisplayname = szpath;
lpitemidlist pidl = ::shbrowseforfolder( &m_bi );
if ( pidl )
}return szpath;}示例
三、在視窗中顯示一幅 jpg 圖象。
void c***view::ondraw(cdc* pdc)
示例四、在桌面建立快捷方式
#include < atlconv.h >
void createshortcut(lpctstr lpszexe, lpctstr lpszlnk)
}if ( ppf ) ppf->release();
if ( psl ) psl->release();
::couninitialize();
}void on***()
linux學習4 應用簡單呼叫驅動
繼續linux學習3的內容 列印頭檔案 include 呼叫列印函式printf 應用中呼叫檔案需要的標頭檔案 include 基本系統資料型別。系統的基本資料型別在 32 編譯環境中保持為 32 位值,並會在 64 編譯環境中增長為 64 位值。include 系統呼叫函式標頭檔案。可以呼叫普通檔...
反射簡單呼叫
1 class program 2 構造函式呼叫有參建構函式 16object obj constructor.invoke new object 17 methodinfo method1 type.getmethod sayname 得到無參公有方法 18 methodinfo method2 ...
CPUID指令簡單呼叫
關於cpuid指令,可以看維基百科的相關介紹 在windows下可以呼叫 cpuid和 cpuidex這兩個函式,cpuid函式在vs2005中就已經開始支援了。下面是簡單的呼叫 在windows下vs不支援x64專案嵌入asm,所以只能編譯32位版本。include include gcc cpu...