欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: DLL回調 [打印本頁]

作者: 51黑tt    時間: 2016-3-5 19:56
標題: DLL回調
什么是回調函數?

    回調函數是應用程序提供給Windows系統(tǒng)DLL或其它DLL調用的函數,一般用于截獲消息、獲取系統(tǒng)信息或處理異步事件。應用程序把回調函數的地址指針告訴DLL,而DLL在適當的時候會調用該函數。回調函數必須遵守事先規(guī)定好的參數格式和傳遞方式,否則DLL一調用它就會引起程序或系統(tǒng)的崩潰。通常情況下,回調函數采用標準WindowsAPI的調用方式,即__stdcall,當然,DLL編制者可以自已定義調用方式,但客戶程序也必須遵守相同的規(guī)定。在__stdcall方式下,函數的參數按從右到左的順序壓入堆棧,除了明確指明是指針或引用外,參數都按值傳遞,函數返回之前自己負責把參數從堆棧中彈出。



回調函數 - 詳細
理解回調函數!

程序在調用一個函數(function)時(通常指api).相當于程序(program)呼叫(Call)了一個函數(function)關系表示如下:
                call(調用)
   program  --------------------→    dll

程序在調用一個函數時,將自己的函數的地址作為參數傳遞給程序調用的函數時(那么這個自己的函數稱回調函數).需要回調函數的 DLL 函數往往是一些必須重復執(zhí)行某些操作的函數.關系表示如下:

               call(調用)
   program  --------------------→    dll
      ↑                               ¦
      ¦_______________________________¦
              callback(回調)

當你調用的函數在傳遞返回值給回調函數時,你就可以利用回調函數來處理或完成一定的操作。至于如何定義自己的回調函數,跟具體使用的API函數有關,很多不同類別的回調函數有各種各樣的參數,有關這些參數的描述一般在幫助中有說明回調函數的參數和返回值等.其實簡單說回調函數就是你所寫的函數滿足一定條件后,被DLL調用!

也有這樣的說法(比較容易理解):
   回調函數就好像是一個中斷處理函數,系統(tǒng)在符合你設定的條件時自動調用。為此,你需要做三件事:
1. 聲明;
2. 定義;
3. 設置觸發(fā)條件,就是在你的函數中把你的回調函數名稱轉化為地址作為一個參數,以便于DLL調用






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1