Как получить доступ или дать разрешение процессу на чтение защищенной памяти из другого процесса
привет
я создаю приложение в visual studio c# для работы с устройством.
в какой-то момент у меня есть дескриптор устройства в переменной intptr.
затем у меня есть еще один процесс, который должен использовать тот же самый дескриптор.
я передал эту информацию, сделав это в основном приложении:
IntPtr h = ; // " функция, возвращающая дескриптор устройства"
ProcessStartInfo p = новый ProcessStartInfo("otherapp.exe", h. ToString());
Процесс.Начало (p);
а в другом приложении я ловлю строковый параметр и затем делаю это:
IntPtr h = new IntPtr(Int32. Parse(args[0]));
пока все работает, но когда я пытаюсь использовать новый дескриптор во втором приложении, он выдает ошибку:
попытка доступа к защищенной памяти
кто-нибудь может мне помочь, пожалуйста????
Что я уже пробовал:
the way i passed this information was by doing this in the primary app: IntPtr h = ;//"the function that returns the device handle" ProcessStartInfo p = new ProcessStartInfo("otherapp.exe", h.ToString()); Process.Start(p); and in the other app i catch the string parameter and then do this: IntPtr h = new IntPtr(Int32.Parse(args[0])); so far everything works but when i try to use the new handle in the second app it throws an error: trying to access protected memory
Richard MacCutchan
Если бы было возможно сделать то, что вы пытаетесь, то каждый компьютер во Вселенной был бы уничтожен в мгновение ока.
Вам нужно создать объект общей памяти, к которому могут получить доступ оба процесса.