類 IRtlFile 函式的呼叫

2021-07-24 01:46:36 字數 865 閱讀 1068

typedef inte***ce ii1 ii1;

inte***ce ii1

;typedef inte***ce irtlfile irtlfile;

inte***ce irtlfile

;class cfile

;呼叫方法

當然還是先找乙個最簡單的函式 getname。

getname 有三個引數:

第乙個引數用於記錄的,可以忽略;

第二個引數為數值,1,表示短檔名,2,表示長檔名;

第三個引數為輸出的字串。

// 構造物件

cfile *file= new cfile();

// 初始化字串值

lunicode_string filename;

rtlinitlunicodestring(&filename, l"c:\\windows\\offline");

// 物件屬性賦值

file->name = filename;

// 構造用於輸出的字串

plunicode_string lusname = new lunicode_string();

// 呼叫函式

((irtlfile*)&file->csystemobject)->getname(null, 1, lusname);

// 構造用於輸出的字串

lpwstr pszname = l"";

// 轉換成可以列印字串

convertlunicodestringtonullterminatedstring(lusname, &pszname);

printf("%ws\n", pszname);

類的函式呼叫

父類和子類的函式呼叫 1.用指標 引用 呼叫函式的時候,被呼叫的函式取決於指標 引用 的型別 2.涉及多型性時,採用虛函式和動態繫結,函式呼叫在執行時繫結,而非在編譯時繫結,此時不再單獨根據指標 引用 型別來判斷呼叫的函式,而是根據物件中虛指標指向的虛表中的函式位址來確定呼叫的函式。3.建構函式不可...

類成員函式呼叫

大家都知道c 的虛函式前必須加virtual,但如果一連串的繼承下來,有的忘了加virtual會出現什麼情況呢?為了滿足我的好奇心,做了點實驗然後有了本文,僅僅是好玩,沒有啥實際意義。本文只給出vs2005的情況 首先,如果是單一類,沒加virtual的話那麼好辦,直接call a fun,非sta...

類成員函式呼叫的細節

class concrete void printerror private int val void main 為什麼會出現這種情況呢?原來是,函式定義的時候,就一直存在了。即無聊是否 例項化了乙個物件,print 這個函式,都是存在的。所以 pc print 是可以找到函式的入口的。只是這時候,...