2012-05-25 72 views
0

這可能是一個簡單的..我在SO搜索的答案,並找不到找什麼,這就是爲什麼我在這裏發佈一個問題。以下是我的疑惑,從同一個DLL調用多個函數

我正在開發一個應用程序,我在使用Windows默認dll。我使用來自同一個加載的DLL的多個函數。例如:

HINSTANCE hinstLib; 
hinstLib = LoadLibrary("Crypt32.dll"); 

,並隨後將下面的代碼導出功能:

CertOpenStore = (fptr1)GetProcAddress(hinstLib, "CertOpenStore"); 

現在我想使用其他功能,從同一個DLL。我怎麼會如上面做的情況下是這樣的:

CertAddEncodedCertificateToStore(CertOpenSystemStore(0,"TrustedPublisher"),PKCS_7_ASN_ENCODING |X509_ASN_ENCODING,pbEncodedCert,dwSize,CERT_STORE_ADD_REPLACE_EXISTING,NULL); 

其中兩個CertAddEncodedCertificateToStoreCertOpenSystemStore屬於同一個DLL?

+3

你爲'CertOpenStore'他們一樣。 –

+0

上午只加載庫到一個句柄(hinstlib)以及如何導出兩個不同的函數。 – 2vision2

+1

問題是什麼? – Xearinox

回答

5

正如你之前但是對於不同的函數名做:

fptr1 OtherFunc = GetProcAddress(hinstLib, "OtherFunc");