Как использовать SafeBuffer в C # - PullRequest
5 голосов
/ 06 сентября 2010

Что является простым примером того, как использовать SafebUffer? То есть как мне создать и инициализировать один? Документация MSDN не отображает это.

1 Ответ

6 голосов
/ 06 сентября 2010

Вы не можете, это абстрактный класс.Единственной видимой конкретной реализацией этого является SafeMemoryMappedViewHandle, вспомогательный класс для классов в пространстве имен System.IO.MemoryMappedFiles.Он имеет недоступный конструктор, так как он может быть должным образом инициализирован только сантехникой, которая заставляет файлы, отображенные в памяти, работать.

Вариант использования - это IntPtr, который отображается в неуправляемую память, управляемую дескриптором.Например, довольно редко встречается в Windows API, MapViewOfFile или GlobalAllocPtr.Если вы хотите создать свой собственный, вы должны наследовать от SafeBuffer, чтобы вы могли вызывать его конструктор и вызывать, скажем, AcquirePointer.Большая часть этого небезопасна.Что вы действительно пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...