एक ही डीएलएल से कई कार्यों को कॉल करें

यह एक आसान हो सकता है .. मैंने एसओ में एक जवाब खोजा और जो खोज रहा हूं उसे नहीं मिला और यही कारण है कि मैंने यहां एक प्रश्न पोस्ट किया। मेरे संदेह निम्नलिखित हैं,

मैं एक एप्लीकेशन विकसित कर रहा हूं जहां मैं विंडोज़ डिफ़ॉल्ट डीएलएस का उपयोग कर रहा हूं। मैं एक ही लोड डीएल से कई कार्यों का उपयोग कर रहा हूँ। उदाहरण के लिए:

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

और बाद में फ़ंक्शन निर्यात करने के लिए नीचे दिए गए कोड का उपयोग करें:

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

अब मैं एक ही डीएल से दूसरे फ़ंक्शन का उपयोग करना चाहता हूं। इस तरह के मामलों में मैं ऊपर के रूप में कैसे करूँगा:

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

जहां दोनों CertAddEncodedCertificateToStore और CertOpenSystemStore एक ही डीएल से संबंधित हैं?

0
जोड़ा संपादित
विचारों: 1
वैसे ही आपने CertOpenStore के लिए किया था।
जोड़ा लेखक user703016, स्रोत
लाइब्रेरी को केवल एक हैंडल (hinstlib) में लोड कर रहा हूं और दो अलग-अलग कार्यों के लिए निर्यात कैसे करें।
जोड़ा लेखक 2vision2, स्रोत
@ हरी: आप सही हरी हैं। हैंडल भाग के साथ थोड़ा उलझन में मिला। और एक और संदेह यह है कि अगर मैं एक और डीएलएल का उपयोग करना चाहता हूं तो मैं यहां एक अलग हैंडल का उपयोग कर सकता हूं ??
जोड़ा लेखक 2vision2, स्रोत
जाहिर है, आप GetProcAddress को उसी संभाल के साथ जितनी बार चाहें उतनी बार कॉल कर सकते हैं। आपको ऐसा क्यों लगता है कि आपको कुछ और जटिल करने की ज़रूरत है?
जोड़ा लेखक Harry Johnston, स्रोत
और समस्या क्या है?
जोड़ा लेखक Xearinox, स्रोत

1 उत्तर

जैसा कि आपने पहले किया था लेकिन एक अलग फ़ंक्शन नाम के लिए:

fptr1 OtherFunc = GetProcAddress(hinstLib, "OtherFunc");
5
जोड़ा