.NET - копировать данные из определенного сегмента: смещение - PullRequest
0 голосов
/ 12 февраля 2011

Ссылаясь на эту тему: Доступ к адресу памяти в c # , я пытаюсь понять, как обратиться к ячейке памяти и извлечь данные, зная ее шестнадцатеричный сегмент: смещение. Кроме того, я считаю, что размер может быть переменным. Буду признателен за любые советы по продолжению этого.

Ответы [ 2 ]

2 голосов
/ 12 февраля 2011

Ну, если хочешь неприятностей ...

        int bufSize = 12;

        IntPtr ptr = (IntPtr) (0xffff *16U + 5);                  

        byte[] data = new byte[bufSize];
        Marshal.Copy(ptr, data, 0, bufSize);
1 голос
/ 12 февраля 2011

Управляемые приложения работают на платформах с линейным адресным пространством.Сегмента нет, смещения нет.Существует только адрес, и вы можете читать и писать по любому адресу через Marshal.Copy.

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