2010-01-21 30 views
1

我有一個結構的以下各項:
- DLL名稱(絕對/相對路徑)
- 在DLL函數名
- 的參數
號碼 - 的陣列參數類型和值調用基於可變參數中的任何DLL功能

有了這些信息,我需要加載DLL並調用函數。
要加載DLL,我會使用LoadLibrary。
要獲取函數的地址,我將使用GetProcAddress。
調用該函數。
要卸載dll,FreeLibrary

由於函數的參數個數是動態的,所以我不確定參數是如何傳遞給函數的。

任何人都可以提供有關如何將參數傳遞給dll函數的一些細節?

感謝和問候, V Karthick

回答

0

是否有可能到字典對象(一個帶參數)傳遞給一些包裝功能和有包裝函數調用的實際功能?它可能會爲您節省很多頭痛,並且您可能會使用預處理器爲您生成包裝函數。

+0

我不確定包裝函數如何調用最終的dll。可能的組合將是巨大的 - 考慮最多10個參數和參數類型爲int,float和string。 – Karthick

+0

這個想法是將包裝函數寫入DLL本身。這樣,包裝器就會知道字典中的內容,並知道如何分配它們。 –

+0

我有同樣的問題。但問題是,DLL完全是任意的。我想要一些適用於所有dll的東西 - 我製作的和我不製作的 - 我認爲這也是@ Karthick的問題。 – Codesmith