में सेफबफर का उपयोग कैसे करें सुरक्षितबफर का उपयोग करने का एक सरल उदाहरण क्या है? यही है, मैं कैसे बना सकता हूं और शुरू कर सकता हूं? एमएसडीएन दस्तावेज इसे दिखाने के लिए प्रकट नहीं होता है।सी #
Q
सी #
5
A
उत्तर
6
आप नहीं कर सकते, यह एक अमूर्त वर्ग है। System.IO.MemoryMappedFiles नामस्थान में कक्षाओं के लिए एक सहायक वर्ग है, इसका एकमात्र दृश्य ठोस कार्यान्वयन SafeMemoryMappedViewHandle है। इसमें एक गैर-सुलभ कन्स्ट्रक्टर है क्योंकि इसे केवल उस नलसाजी द्वारा ठीक से शुरू किया जा सकता है जो स्मृति मैप की गई फ़ाइलों को काम करता है।
उपयोग केस एक इंटिप्टर है जो एक हैंडल द्वारा प्रबंधित, अप्रबंधित स्मृति के लिए मानचित्र करता है। उदाहरण के लिए विंडोज एपीआई, MapViewOfFile या GlobalAllocPtr में काफी दुर्लभ है। यदि आप अपना खुद का बनाना चाहते हैं तो आपको सेफबफर से प्राप्त करना होगा ताकि आप इसके कन्स्ट्रक्टर को कॉल कर सकें और कह सकें, AcquirePointer। इनमें से अधिकांश असुरक्षित है। आप वास्तव में क्या करने की कोशिश कर रहे हैं?
मैं डिस्क से एक बहुत बड़ी फ़ाइल (bytestream) को एक unmanagedMemoryStream में पढ़ने की कोशिश कर रहा हूं। फाइल बाइट्स की अधिकतम संख्या से अधिक है जो एक बाइटियर पकड़ सकती है। – ManInMoon
ठीक है, स्मृति मैप की गई फ़ाइलों के लिए .NET 4.0 समर्थन का उपयोग करें। MemoryMappedViewStream को पुन: पेश करने के लिए व्यर्थ। यह वास्तव में फ़ाइल को किसी भी तेज़ी से नहीं पढ़ता है। –
धन्यवाद हंस। मैंने कोशिश की है लेकिन MemoryMappedFiles बहुत धीमी हैं – ManInMoon