• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            醬壇子

            專注C++技術(shù) 在這里寫下自己的學(xué)習(xí)心得 感悟 和大家討論 共同進(jìn)步(歡迎批評(píng)!!!)

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              66 Posts :: 16 Stories :: 236 Comments :: 0 Trackbacks

            公告

            王一偉 湖南商學(xué)院畢業(yè) 電子信息工程專業(yè)

            常用鏈接

            留言簿(19)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            積分與排名

            • 積分 - 388624
            • 排名 - 64

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Visual C++
            GetProcAddress
            顯式鏈接到 DLL 的進(jìn)程調(diào)用 GetProcAddress 來(lái)獲取 DLL 導(dǎo)出函數(shù)的地址。使用返回的函數(shù)指針調(diào)用 DLL 函數(shù)。GetProcAddress 將(由 LoadLibraryAfxLoadLibraryGetModuleHandle 返回的)DLL 模塊句柄和要調(diào)用的函數(shù)名或函數(shù)的導(dǎo)出序號(hào)用作參數(shù)。

            由于是通過(guò)指針調(diào)用 DLL 函數(shù)并且沒(méi)有編譯時(shí)類型檢查,需確保函數(shù)的參數(shù)是正確的,以便不會(huì)超出在堆棧上分配的內(nèi)存和不會(huì)導(dǎo)致訪問(wèn)沖突。幫助提供類型安全的一種方法是查看導(dǎo)出函數(shù)的函數(shù)原型,并創(chuàng)建函數(shù)指針的匹配 typedef。例如:

            typedef UINT (CALLBACK* LPFNDLLFUNC1)(DWORD,UINT);


            HINSTANCE hDLL;               
            // Handle to DLL
            LPFNDLLFUNC1 lpfnDllFunc1;    // Function pointer
            DWORD dwParam1;
            UINT  uParam2
            , uReturnVal;

            hDLL 
            = LoadLibrary("MyDLL");
            if (hDLL != NULL)
            {
               lpfnDllFunc1 
            = (LPFNDLLFUNC1)GetProcAddress(hDLL,
                                                       
            "DLLFunc1");
               
            if (!lpfnDllFunc1)
               {
                  
            // handle the error
                  FreeLibrary(hDLL);
                  
            return SOME_ERROR_CODE;
               }
               
            else
               {
                  
            // call the function
                  uReturnVal = lpfnDllFunc1(dwParam1, uParam2);
               }
            }

            調(diào)用 GetProcAddress 時(shí)指定所需函數(shù)的方式取決于 DLL 的生成方式。

            僅當(dāng)要鏈接到的 DLL 是用模塊定義 (.def) 文件生成的,并且序號(hào)在 DLL 的 .def 文件的 EXPORTS 部分中與函數(shù)一起列出時(shí),才能獲取導(dǎo)出序號(hào)。如果 DLL 具有許多導(dǎo)出函數(shù),則相對(duì)于使用函數(shù)名,使用導(dǎo)出序號(hào)調(diào)用 GetProcAddress 的速度稍快一些,因?yàn)閷?dǎo)出序號(hào)是 DLL 導(dǎo)出表的索引。使用導(dǎo)出序號(hào),GetProcAddress 可直接定位函數(shù),而不是將指定名稱與 DLL 導(dǎo)出表中的函數(shù)名進(jìn)行比較。但是,僅當(dāng)有權(quán)控制 .def 文件中導(dǎo)出函數(shù)的序號(hào)分配時(shí),才應(yīng)使用導(dǎo)出序號(hào)調(diào)用 GetProcAddress

             


            posted on 2007-08-08 23:00 @王一偉 閱讀(5404) 評(píng)論(3)  編輯 收藏 引用

            Feedback

            # re: GetProcAddress 2007-08-09 08:58 @王一偉
            我重新寫了上面的代碼 發(fā)覺(jué)還是有問(wèn)題dll能導(dǎo)入成功,函數(shù)地址能獲取

            但是一旦用typedef的函數(shù)指針的時(shí)候就連編譯都編譯不過(guò)了

            請(qǐng)求幫助

            工程文件如下http://www.shnenglu.com/Files/sunraiing9/hahahah.rar

            11k大小
              回復(fù)  更多評(píng)論
              

            # re: GetProcAddress 2007-08-09 09:50 @王一偉
            已經(jīng)解決 嘿嘿  回復(fù)  更多評(píng)論
              

            # re: GetProcAddress 2010-04-29 17:32 jocy
            3Q
              回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久Av无码精品人妻系列 | 中文成人无码精品久久久不卡| 69久久夜色精品国产69| 国产精品伊人久久伊人电影| 久久这里有精品| jizzjizz国产精品久久| 久久99久久成人免费播放| 波多野结衣久久| 91久久精品国产91性色也| 伊人久久五月天| 狠狠色丁香婷婷综合久久来来去 | 亚洲国产精品久久久久婷婷软件| 久久天天躁狠狠躁夜夜不卡| 久久亚洲美女精品国产精品| 久久久久久国产a免费观看不卡| 人妻无码久久一区二区三区免费 | 欧洲精品久久久av无码电影 | 精品久久人妻av中文字幕| 内射无码专区久久亚洲| 99久久国产热无码精品免费久久久久| 大香伊人久久精品一区二区| 久久综合精品国产一区二区三区| 久久国产精品无码HDAV| 久久久久久久久66精品片| 久久伊人五月天论坛| 精品久久久久久久久久中文字幕| 久久精品一区二区国产| 国产情侣久久久久aⅴ免费| 婷婷久久香蕉五月综合加勒比| 久久这里只有精品首页| 中文字幕久久亚洲一区| 2021最新久久久视精品爱| 久久久久亚洲国产| 久久妇女高潮几次MBA| 久久久久久久久久久久久久| 久久AV高潮AV无码AV| 伊人久久大香线蕉av不变影院| 国内精品伊人久久久久妇| 国产美女亚洲精品久久久综合| 亚洲精品白浆高清久久久久久| 97久久国产综合精品女不卡 |