क्लिपबोर्ड में डेटा पेस्ट करने के लिए Win32 में मुझे GlobalAlloc()
पर कॉल करना होगा, फिर GlobalLock()
पॉइंटर प्राप्त करने के लिए, फिर डेटा कॉपी करें, फिर GlobalUnlock()
और SetClipboardData()
पर कॉल करें।यदि मैं ग्लोबल लॉक() को कॉल करता हूं तो क्या होता है, फिर GlobalUnlock() को कॉल करने में विफल रहता है?
कोड सी में है, तो ++ एक अपवाद GlobalLock()
और GlobalUnlock()
के लिए कॉल के बीच फेंक दिया जा सकता है और अगर मैं इस GlobalUnlock()
की देखभाल नहीं करते बुलाया नहीं किया जाएगा।
यह एक समस्या है? अगर मैं GlobalLock()
पर कॉल करता हूं और किसी भी कारण से जोड़ी GlobalUnlock()
कॉल को छोड़ देता है तो क्या होगा?
नहीं है, ग्लोबलफ्री() को क्लिपबोर्ड पर चिपकाया जाने वाला नहीं कहा जाना चाहिए - स्वामित्व क्लिपबोर्ड पर पास हो गया है और यह बाद में स्मृति जारी करेगा। – sharptooth
हाँ आप सही हैं, अगर SetClipboardData को कॉल सफलतापूर्वक बनाया गया है। लेकिन अन्यथा, आपको दोनों को कॉल करना होगा। पोस्ट तदनुसार संशोधित। –