Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/47: Рейтинг темы: голосов - 47, средняя оценка - 4.89
Dzhej-Dzhej
Заблокирован
1

Что такое класс Marshal

11.08.2010, 15:52. Просмотров 9029. Ответов 6
Метки нет (Все метки)

подскажите, для каких целей используется класс Marshal
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2010, 15:52
Ответы с готовыми решениями:

Что такое .NET и всё что с ним связано
Что это? Чьё это? Зачем оно? Круто ли оно? В нете что-то рыскал... понял только что это всё от...

Marshal.StructureToPtr
Пытаюсь освоить Marshal.StructureToPtr и Marshal.PtrToStructure Массивом байт я уже могу...

Получение указателя через Marshal.GetFunctionPointerForDelegate
Итак, есть код: public static class HookDrive { ///<summary> /// Initialize...

Мусор при использовании класса Marshal
Здравствуйте, форумчане. Имеется тестовая функция на С++ которая возвращает строку в код на С#. Но...

Аналоги System.Runtime.InteropServices.Marshal.GetActiveObject
Здравствуйте, подскажите если запущено 2 приложения, которыми нужно программно управлять, как мне...

6
Johnny_D
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,842
11.08.2010, 17:40 2
Скорее всего это не CL класс, так что сказать можем, лишь когда код увидим.
0
Dzhej-Dzhej
Заблокирован
11.08.2010, 17:51  [ТС] 3
кода много, а по теме
C#
1
2
3
4
5
6
7
8
9
10
11
12
using System.Runtime.InteropServices;
...
            IntPtr pItemValues = IntPtr.Zero;
            IntPtr pErrors  = IntPtr.Zero;
            try
            {
                pIOPCSyncIO.Read(OPCDATASOURCE.OPC_DS_DEVICE, 1, nItemSvrID, out pItemValues, out pErrors);
                int[] errors = new int[1];
                Marshal.Copy(pErrors, errors, 0, 1);
                if (errors[0] == 0)
                {
                    OPCITEMSTATE pItemState = (OPCITEMSTATE)Marshal.PtrToStructure(pItemValues, typeof(OPCITEMSTATE));
...
и в том же духе
хотелось разобраться, как оно так лихо манипулирует несовместимыми обьектами
0
Mikant
1292 / 965 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
11.08.2010, 18:35 4
этот класс отвечает за взаимодействие между управляемыми и неуправляемыми ресурсами
0
Dzhej-Dzhej
Заблокирован
12.08.2010, 09:25  [ТС] 5
обьясните, пожалуйста, более популярно, а то я как-то не могу понять
если мы обьявляем фактически указатель
C#
1
IntPtr pItemValues = IntPtr.Zero;
под структуру pItemValues мы не резервируем память через new,
но тем не менее после заполнения указателя мы манипулируем структурой
и что такое управляемые и неуправляемые ресурсы(по коду ,как-бы видно, но все-таки)

это чужой код, а мне прийдется его переделывать
0
NightmareZ
1474 / 623 / 61
Регистрация: 31.03.2009
Сообщений: 2,016
12.08.2010, 09:44 6
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
под структуру pItemValues мы не резервируем память через new,
но тем не менее после заполнения указателя мы манипулируем структурой
Я так понимаю, метод pIOPCSyncIO.Read возвращает указатель на структуру, созданную в нём.

Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
и что такое управляемые и неуправляемые ресурсы(по коду ,как-бы видно, но все-таки)
Управляемые - те, что работают под покровительством .NET, а неуправляемые - соответственно нативные.
1
Mikant
12.08.2010, 10:28     Что такое класс Marshal
  #7

Не по теме:

Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
IntPtr.Zero
поставь курсор между 'e' и 'r' и нажми F12 - многое прояснится

1
12.08.2010, 10:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2010, 10:28
Привет! Вот еще темы с ответами:

Как избежать Marshal.Copy для отправки данных
У меня есть указатель IntPtr на масив байт и размер этого массива. Чтоб запихнуть его в...

Есть папка с файлами, происхождение аля что-то microsoft, не могу понять что это такое
Здравствуйте, я занимаюсь веб разработкой, и не шарю в том, что у меня сейчас на руках. Суть в том,...

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.