c++ - How to pass "this" pointer to a global function -
<कोड> // यह है AsynchronousFunction वर्ग हेडर फाइल typedef int (* functionCall) (int, int); DWORD __stdcall functionExecuter (एलपीवीओआईडी pContext); // वैश्विक फ़ंक्शन वर्ग एसिंक्रोनस फंक्शन {int param1, param2; फ़ंक्शनकॉल fCall; हैंडल एम_हेन्डल; सार्वजनिक: एसिंक्रोनस फंक्शन (फ़ंक्शन कॉल, इंट, इंट); ~ AsynchronousFunction (); पूर्णांक परिणाम (); संरक्षित: निजी: int returnVal; }; यह कार्यान्वयन के रूप में AsynchronousFunction :: AsynchronousFunction (functionCall fCall, पूर्णांक param1, पूर्णांक param2) इस प्रकार है: m_handle (CreateEvent (शून्य, झूठे, झूठे, शून्य)) {bool ख = QueueUserWorkItem (functionExecuter, इस, WT_EXECUTEDEFAULT); प्रतीक्षाफ़ोसरसिन्लेऑब्जेक्ट (एम_हेन्डल, INFINITE); SetEvent (m_handle); } एसिंक्रोनस फंक्शन :: ~ एसिंक्रोनस फंक्शन () {CloseHandle (m_handle); } एसिंक्रोनस फंक्शन :: परिणाम () {वापसी 0; // अभी तक कार्यान्वित नहीं किया गया है} DWORD __stdcall functionExecuter (LPVOID pContext) {वापसी 0; }
यहां pContext "this" सूचक प्राप्त करता है मेरा प्रयास यहां से परम 1 और परम 2 का उपयोग कर रहा है और यह काम कैसे कर सकता हूँ?
< p> या तो आप> functionExecuter
AsynchronousFunction या AsynchronousFunction जो आवश्यक काम करता जोड़े और इसे से फोन < कोड> functionExecuter
, की तरह कुछ नीचे दिखाया गया है DWORD __stdcall functionExecuter (LPVOID pContext) {वापसी (reinterpret_cast & LT; AsyncrhonousFunction * & gt; (pContext)) - & gt;। realFunctionExecuter (); }
Comments
Post a Comment