से डेटा कॉपी करें मेरे पास length
बाइट्स के कुछ डेटा क्षेत्रों को इंगित करने वाले दो IntPtr
मान हैं। length
में 200k से 400k की परिमाण का क्रम हो सकता है।IntPtr से IntPtr
int length = /* ..*/
IntPtr ptrSrc = /*.. */;
IntPtr ptrDst = /* .. */;
अब मैं ptrSrc
से ptrDst
लिए डेटा कॉपी करना चाहते। यह कोड ठीक काम करता है:
byte[] data = new byte[length];
Marshal.Copy(ptrSrc, data, 0, length);
Marshal.Copy(data, 0, ptrDst, length);
लेकिन इसमें अतिरिक्त अस्थायी (संभावित रूप से विशाल) सरणी की आवश्यकता है। दुर्भाग्य से, मुझे सीधे IntPtr
से IntPtr
से कॉपी करने के लिए .NET ढांचे में Marshal.Copy
संस्करण नहीं मिला, इसलिए मैं विकल्पों की तलाश में हूं।
मुझे ऐसे समाधान में रूचि है जो 32 विंडोज़ और 64 बिट विंडोज पर काम करता है। कोई सुझाव?
क्या आप 'असुरक्षित' का उपयोग कर सकते हैं? – driis
@driis: हाँ, यह संभव है। –