Цитата(n0wheremany @ Воскресенье, 11 Февраля 2007, 17:19)

ICQ у меня не работает (говорят, через МТСовский GPRS ICQ как-то по-особому настраивать надо


![]() |
![]() |
![]() |
![]() |
![]() |
Здравствуйте, гость ( Вход | Регистрация ) |
![]() P2Kapi, Вопросы |
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Цитата(n0wheremany @ Воскресенье, 11 Февраля 2007, 17:19) ![]() ICQ у меня не работает (говорят, через МТСовский GPRS ICQ как-то по-особому настраивать надо ![]() ![]() |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Цитата Пожалуйста, скинь описание этих функций на мыло: kryukdmitriy@rambler.ru. И, если возможно, заархивируй пожёстче. MDSN - рулит В часности SetupDiGetClassDevs Здесь А вообще не понимаю зачем нужно создавать P2KApi3. Поддержку Flash режима делать нельзя. Очень мало народу знает как нормально конкретно пользоваться Flash режимом (команды Flash режима). Какие функции нужны и тп. А Для програмистов тоже ниша уже занята. FlashBackup и RamLdr - более никому ничго не надо... И в принципе не понял на каком языке писать бкдет она... То Си то Делфи. Ты уж определись... |
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Цитата Поддержку Flash режима делать нельзя. Очень мало народу знает как нормально конкретно пользоваться Flash режимом (команды Flash режима). n0wheremany, Но ты же знаешь! ![]() ![]() ![]() Цитата И в принципе не понял на каком языке писать бкдет она... То Си то Делфи. Ты уж определись... Наверное, буду писать на своём родном MASM32... На Delphi откомпилированные файлы получаются очень большими, а на Си я уж очень плохо программирую. ![]() Но, боюсь, тогда на широкую подержку рассчмитывать тем более не придётся. Цитата А вообще не понимаю зачем нужно создавать P2KApi3. P2KApi3 мной задумана как универсальная библиотека для извращения над телефоном. ![]() ![]() |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Цитата n0wheremany, Но ты же знаешь! ![]() ![]() ![]() Делал я но не один. Я знаю, Vilko знает, Random тоже знает и ещё несколько человек. На этом круг ограничивается... Хчешь расширить? Зачем? Цитата На Delphi откомпилированные файлы получаются очень большими Вот уж с этим я не согласен. Если подойти по ум, можно и норм сделать (даже с MotoVCL(!!!) один чел [MotoMotionDetect] запоковал в Dll и весила она 55 кБ). Цитата Хотя если во второй некоторые глюки заполировать, мне и её пока хватит. Так говори глюки, предлогай - dwAlex зделает, ну или ещё кто... |
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Цитата один чел [MotoMotionDetect] запоковал в Dll и весила она 55 кБ Ну, при желании и не такое можно ![]() ![]() Цитата На этом круг ограничивается... Хчешь расширить? Зачем? Я считаю, что все желающие должны иметь возможность научиться работать с телом во флеш-режиме. А ещё я собираюсь написать прошивалку с функциями наподобие: только стирание флеш-памяти: прошивка без предварительного стирания флеш памяти и т. д. Может пригодиться для исследования нетрадиционных подходов к перепрошивке и восстановлению телефонов, благо, с C350L такие эксперименты безопасны. Цитата Так говори глюки, предлогай - dwAlex зделает, ну или ещё кто... Сообщаю о том глюке, который тормозит мою разработку SeemXfer: если сразу после вызова P2K_Restart вызвать Mode_SwitchToAT, P2KApi2 надолго подвисает. (Я хочу перезапустить телефон и не переключать его в P2K режим). |
dwALX |
![]() |
||
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
Цитата(motoprogger) Сообщаю о том глюке, который тормозит мою разработку SeemXfer: если сразу после вызова P2K_Restart вызвать Mode_SwitchToAT, P2KApi2 надолго подвисает. (Я хочу перезапустить телефон и не переключать его в P2K режим). Хм.. ну не знаю где там глюк и есть ли он вообще. Давай свой код, посмотрим. В качестве доказательсва выкладываю свой тест. Там все просто. Подключаешь тел, запускаешь тест, ждешь пока он его подключит (станет активна кнопка рестарт), жмешь ее... на ней выполняется код: P2K_Restart(); P2K_Mode_SwitchToAT(); Memo1->SetFocus(); // это чтобы перебросить тебя в редактор, в котором можешь вводить что-нибудь, чтобы убедится что ничего не подвисает. А вообще я кажется догадываюсь в чем проблема. Ты вызвал P2K_Restart, а дальше либо не дожидаешься пока тел отключится, посылаешь ему какую-нить P2K команду, либо нигде не проверяешь статус, подключен ли телефон.
P.S. сорри за такой грубый тест и за его размер ![]()
| ||
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Цитата P.S. сорри за такой грубый тест и за его размер Мне этот размер стоит чуть больше, чем поездка в автобусе ![]() Цитата Ты вызвал P2K_Restart, а дальше либо не дожидаешься пока тел отключится, посылаешь ему какую-нить P2K команду, либо нигде не проверяешь статус, подключен ли телефон. У меня подряд идут вызовы P2K_Restart и Mode_SwitchToAT, так же, как у тебя. Но твой тест работает нормально, а моя программа глючит! Я пишу на MASM32, но для пояснения переведу код на C++. Код /* ProcWaitForSingleObject - моя функция (опущена), которая ждёт объект, но обрабатывает сообщения. SetActTitle - моя функция, устанавливающая заголовок внутри окна. hPhoneConn - событие, создаваемое в обработчике сообщения WM_CREATE. С ручныи сбросом. hIfSuspend - флажок (Suspend phone before operation). hIfRestart - флажок (Restart phone after operation). */ void StatusProc(int St) { if (St) SetEvent(hPhoneConn) else ResetEvent(hPhoneConn); }; bool ConnectPhone() { Mode_SwitchToP2K(&StatusProc); if (ProcWaitForSingleObject(hPhoneConn,INFINITE)==WAIT_OBJECT_0) { if (SendMessage(hIfSuspend,BM_GETCHECK,0,0)==BST_CHECKED) { SetActTitle(&SuspendingTitle) P2K_Suspend(); }; return 1; }; return 0; }; void DisconnectPhone() { if (SendMessage(hIfRestart,BM_GETCHECK,0,0)==BST_CHECKED) { SetActTitle(&RestartingPhone); P2K_Restart(); }; Mode_SwitchToAT(); return; }; /*В обработчике WM_COMMAND, нажатия на кнопку запуска/* /*...*/ if (ConnectPhone()) { SetActTitle(&OperatingTitle); /*Некоторый цикл с P2K командами и периодической обработкой сообщений*/ DisconnectPhone(); }; /*...*/ Только предупреждаю, с C++ у меня не очень, поэтому в самом языке я где-то мог ошибиться. Сообщение отредактировал blackbox - 13.2.2007, 14:43 |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Цитата только стирание флеш-памяти: прошивка без предварительного стирания флеш памяти и т. д. Может пригодиться для исследования нетрадиционных подходов к перепрошивке и восстановлению телефонов, благо, с C350L такие эксперименты безопасны. прошивка без предварительного стирания флеш памяти - это физически не возможно. только стирание флеш-памяти - RamLdr, делай загрузчик и вперёд... Вообще других функций кроме как в RamLdr Нету и не будет (если загрузчики другие не пойдут). |
dwALX |
![]() |
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
motoprogger,
хм... ну так не найдем точно. Ты на 100% уверен что баг в p2kapi, а не у тебя? Можешь выложить свой код на MASM? Смотрел отладчиком где именно происходит подвисание? |
motoprogger |
![]() |
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Цитата хм... ну так не найдем точно. Ты на 100% уверен что баг в p2kapi, а не у тебя? Не уверен. Но в любом случае, мой порядок действий представляется верным. ![]() Цитата Можешь выложить свой код на MASM? Без вопросов. Цитата Смотрел отладчиком где именно происходит подвисание? Не смотрел, да и Турбо Дебаггером оно трудновато (хотя при желании можно). Кажется, в Mode_SwitchToAT(). n0wheremany, Цитата прошивка без предварительного стирания флеш памяти - это физически не возможно. Если флеш-память была стёрта до этого, по идее должно быть возможно. Цитата только стирание флеш-памяти - RamLdr, делай загрузчик и вперёд... Здесь мне, чайнику, вообще ничего не понятно. Вообще других функций кроме как в RamLdr Нету и не будет (если загрузчики другие не пойдут). ![]()
| |
dwALX |
![]() |
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
Цитата(motoprogger) Не смотрел, да и Турбо Дебаггером оно трудновато (хотя при желании можно). Кажется, в Mode_SwitchToAT(). Ок. Смотри. У тебя код: Код DisconnectPhone proc invoke SendMessage,hIfRestart,BM_GETCHECK,0,0 .IF eax==BST_CHECKED invoke SetActTitle,ADDR RestartTxt invoke P2K_Restart .ENDIF invoke Mode_SwitchToAT invoke ResetEvent,hPhoneConn ret DisconnectPhone endp Проверям очень просто. Вставляем после строки invoke Mode_SwitchToAT и после строки invoke ResetEvent,hPhoneConn строку: invoke MessageBox,hWnd,ADDR MustBeDiff,ADDR ErrTitle,MB_OK+MB_ICONHAND т.е. получаем такой код: Код DisconnectPhone proc invoke SendMessage,hIfRestart,BM_GETCHECK,0,0 .IF eax==BST_CHECKED invoke SetActTitle,ADDR RestartTxt invoke P2K_Restart .ENDIF invoke Mode_SwitchToAT invoke MessageBox,hWnd,ADDR MustBeDiff,ADDR ErrTitle,MB_OK+MB_ICONHAND invoke ResetEvent,hPhoneConn invoke MessageBox,hWnd,ADDR MustBeDiff,ADDR ErrTitle,MB_OK+MB_ICONHAND ret DisconnectPhone endp и видим что сообщение появляется сразу после вызова Mode_SwitchToAT, без всяких задержок, т.е. никакого подвисания в Mode_SwitchToAT не произошло, так же сразу же вылезло и второе сообщение (значит и в ResetEvent нету подвисания), а вот после мы подвисли... проходит несколько секунд и мы снова видим первое сообщение, нажимаем ОК и видим второе и после уже обновился интерфейс. Т.е. получается что DisconnectPhone вызывается 2 раза и программа ждет 2го вызова и только потом обновляется интерфейс. В общем надо смотреть обработку событий ![]() |
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Цитата получается что DisconnectPhone вызывается 2 раза и программа ждет 2го вызова Спасибо. Разберусь. Я код P2KApi посмотрел ещё неделю назад, не нашёл там ничего криминального. Но и не мог понять, в чём проблема. Если так, до релиза 2 шага осталось. |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Цитата Если флеш-память была стёрта до этого, по идее должно быть возможно. Нет. Это не возможно физически. Это ограничение встроено в загрузчик. Если переделаешь загрузчик то возможно будет работать, хотя сомневаюсь. |
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Мелкий баг в P2KApi.
Если вызвать последовательно P2K_Init, Mode_SwitchToAT, Mode_SwitchToP2K, Mode_SwitchToAT (с задержками, необходимыми, чтобы операционная система, библиотека и телефон успевали отрабатывать переключения), второй вызов Mode_SwitchToAT не работает. Как я выяснил, ошибка в процедуре Mode_SwitchToP2K. Вот фрагмент кода из неё. Код push Thread_Handle call ResumeThread mov Thread_Suspended,1h Как я понял, последняя строчка должна быть mov Thread_Suspended,0h, обозначая, что поток теперь работает. Иначе Mode_SwitchToAT считала, что поток уже остановлен, и ей ничего делать не надо. Что ж, свою ошибку всегда труднее всего найти. ![]() |
dwALX |
![]() |
|
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
Цитата(motoprogger @ Суббота, 17 Февраля 2007, 19:21) Мелкий баг в P2KApi. Спасибо! Исправлено ![]()
| |
alexander.stoyan |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 7.3.2007 Пользователь №: 125 738 Модель телефона: Razr V3 Рейтинг: 0 ![]() |
![]() использую последню версию, выложенную dwALX-ом выше. И есть один глюк (он был во всех версиях р2к): File_Create вылетает постоянно! При этом файл создаётся. Пишу на С++/CLI. телефон - RazrV3 вот сообщение олб ошибке: Managed Debugging Assistant 'FatalExecutionEngineError' has detected a problem in 'd:\Project\Work\Products\CarPhone\CPW.Plugins\Moto\Moto\debug\plgtest.exe'. Additional Information: The runtime has encountered a fatal error. The address of the error was at 0x79e755fc, on thread 0xcf4. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack. вот код: Код File_Create("/a/mobile/mib/pcf/video.gif", 0); ну и чё не так???? |
dwALX |
![]() |
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
alexander.stoyan,
код в студию, включая объявление File_Create. |
alexander.stoyan |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 7.3.2007 Пользователь №: 125 738 Модель телефона: Razr V3 Рейтинг: 0 ![]() |
ф-ция объявляется вот так: typedef int(__stdcall* File_Create)(LPCSTR FileName, DWORD Attribute);
внесу небольшую поправку. как выяснилось тестовым путём, эта ошибка возникает только в приложениях на .NET. Порывшись в сети начинаю делать вывод, что нелады именно в P2KAPI(2).DLL, потому как подобная ошибка появляется, когда unmanaged код портит managed память. тот же код на С++ отрабатывает безупречно. была идея написать работу с P2K на Си и вызывать из .NET, но не вышло, т.к. при переходе из unmanaged в managed вылетает всё то же сообщение. вопрос ледующий мой немного меняет направление: люди, кто работал с P2K на .NET ??? В более старых постах вспоминался C#, но подобной траблы не видел я. Со своим кодом перепробовал все выложенные в этой теме P2KAPI(2).DLL - результат одинаков: в С++ работает, с .NET - нет. если принипиально важно показать код - покажу. хотя какие могут быть с кодом траблы, если в С++ всё ок? ... Зараннее благодарен за оказанную помощь. |
dwALX |
![]() |
|
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
Бета верcия с поддержкой P2K05. Нужный режим определяется автоматически.
| |
Phjtoxx |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 2 Регистрация: 25.3.2007 Пользователь №: 128 382 Модель телефона: V6 - V3i Рейтинг: 0 ![]() |
Hello, I try to use p2kapi in delphi to write seem, but it no write. read ok.
I tested to write seem 0074, (the phone lock code). Цитата var Buff: array[0..255] of byte; i,a,b:integer; begin Seem_Read(HexToInt('0074'), HexToInt('0001'), 0,0,buff); for i:=1 to 4 do begin a := hextoint('3'+copy(code_bl.Text,i,1)); buffs[b]:=a; inc(b,2) end; Seem_write(HexToInt('0074'), HexToInt('0001'), 0,0 ,buff); end; |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Код var Buff: array[0..255] of byte; i,a,b:integer; begin Seem_Read($0074, $0001, 0,0,buff); for i:=1 to 4 do begin a := hextoint('3'+copy(code_bl.Text,i,1)); // Uncorrect >> ord(char( )); buffs[b]:=a; inc(b,2); end; //Seem_write(HexToInt('0074'), HexToInt('0001'), 0,0 ,buff); Seem_write(HexToInt('0074'), HexToInt('0001'), 0,BuffSize,buff); // BuffSize !!! 10 byte for 74 seem end; |
Phjtoxx |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 2 Регистрация: 25.3.2007 Пользователь №: 128 382 Модель телефона: V6 - V3i Рейтинг: 0 ![]() |
ok thanks, all ok. The buffersize don't make me write.
But there is a way to know, to calculate the buffersize? thanks a lot. ![]() |
lucrece |
![]() |
Moto®Head ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 389 Регистрация: 19.12.2005 Из: Кировская область Пользователь №: 62 616 Модель телефона: V3xx Прошивка: R26111LD_U_96.A0.0ER Рейтинг: 329.5 ![]() |
Seem_Read (if called with offset 0, bytes to read 0) will return the seem size = buffer size, if successful. Just call it as a function rather than a procedure.
|
alexander.stoyan |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 7.3.2007 Пользователь №: 125 738 Модель телефона: Razr V3 Рейтинг: 0 ![]() |
а где можно найти доку по интерфейсу драйвера P2K ?
|
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Такие вопросы к Вилко и то доку он тебе не даст т.к. её просто нету в сети.
|
alexander.stoyan |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 7.3.2007 Пользователь №: 125 738 Модель телефона: Razr V3 Рейтинг: 0 ![]() |
вот есть такой небольшой код на C#:
Код // компилировать с /unsafe using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.IO; namespace p2kclr { unsafe class Program { [StructLayout(LayoutKind.Sequential)] public struct FileInfo { public int sizeOfFile; public short attr1; public short attr2; public sbyte Name; }; //***************************************************************************** public delegate void P2K_StatusCallback(int status); //***************************************************************************** // p2kapi imports [DllImport("p2kapi.dll")] public static extern int P2K_Init(P2K_StatusCallback statusCallback); [DllImport("p2kapi.dll")] public static extern int P2K_GetStatus(); [DllImport("p2kapi.dll")] public static extern int File_Count(); [DllImport("p2kapi.dll")] public static extern int File_List(IntPtr info, uint cnt); [DllImport("p2kapi.dll")] public static extern int File_Create(sbyte* FileName, uint attr); [DllImport("p2kapi.dll")] public static extern int File_Close(); [DllImport("p2kapi.dll")] public static extern int File_Read(void* Buffer, uint size); // kernel32 imports [DllImport("kernel32.dll")] public static extern bool Sleep(uint milliseconds); [DllImport("kernel32.dll")] static extern IntPtr LocalAlloc(uint uFlags, int uBytes); [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr LocalFree(IntPtr hMem); //***************************************************************************** static void p2k_callback(int status) { Console.WriteLine("P2K status: " + status); } //***************************************************************************** static void Main(string[] args) { try { if (P2K_Init(new P2K_StatusCallback(p2k_callback)) == -1) throw new Exception("P2K_Init failed"); Sleep(2000); if (P2K_GetStatus() == 0) throw new Exception("Phone is not connected"); int cFiles = File_Count(); if (cFiles == -1) throw new Exception("File_Count failed"); Console.WriteLine("Number of files: " + cFiles); IntPtr info_ptr = LocalAlloc(0x40, cFiles * 0x200); if (File_List(info_ptr, (uint)cFiles) == -1) { LocalFree(info_ptr); throw new Exception("File_List failed"); } FileInfo* fileInfo = (FileInfo*)info_ptr.ToPointer(); string out_path = "D:\\Project\\temp\\"; for(;cFiles-- != 0;) { string fileName = new string(&fileInfo->Name); Console.WriteLine("\t" + fileName); if (File_Create(&fileInfo->Name, 0) != -1) { IntPtr buff_ptr = LocalAlloc(0x40, fileInfo->sizeOfFile); if (File_Read(buff_ptr.ToPointer(), (uint)fileInfo->sizeOfFile) != -1) { byte* bt = (byte*)buff_ptr.ToPointer(); byte[] buff = new byte[fileInfo->sizeOfFile]; for (int i = 0; i != buff.Length; ++i ) { buff[i] = *bt++; } FileStream fs = new FileStream(out_path + fileName, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(buff); } LocalFree(buff_ptr); File_Close(); } fileInfo = (FileInfo*)((sbyte*)fileInfo + 0x200); } LocalFree(info_ptr); } catch(Exception e) { Console.WriteLine("Exception: " + e.Message + "\n\nStack:\n" + e.StackTrace); } } } } всё, что мне нужно - скопировать все файлы с телефона на комп. но на вызове File_Create постоянно получаю: "The runtime has encountered a fatal error. The address of the error was at 0x79e755fc, on thread 0x938. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack." я уже пробовал писать это и на С++.NET - всё то же. самое странное, что если писать на чистом С/С++ - всё ок. вот именно с .NET не дружит ![]() устал уже долбаться. люди добрые, подскажите, что не так? может у кого-то есть работающие исходники на .NET? буду очень признателен.... Сообщение отредактировал alexander.stoyan - 23.5.2007, 15:02 |
NickLion |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 12 Регистрация: 20.9.2006 Пользователь №: 99 796 Модель телефона: Motorola SLVR L7 Прошивка: R4513_G_08.B7.ACR_RB Рейтинг: 0 ![]() |
Где достать как работать с телефоном напрямую (через DeviceIoControl я так понимаю), а не с помощью быблиотеки P2KAPI?
|
dwALX |
![]() |
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
NickLion, кто мешает посмотреть в исходниках p2kapi ?
![]() |
NickLion |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 12 Регистрация: 20.9.2006 Пользователь №: 99 796 Модель телефона: Motorola SLVR L7 Прошивка: R4513_G_08.B7.ACR_RB Рейтинг: 0 ![]() |
Ня-я! Не думал, что код открытый.
![]() Спасибо! ![]() |
Synergy |
![]() |
![]() MotoLoudness ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 366 Регистрация: 25.1.2006 Из: Уфа Пользователь №: 67 254 Модель телефона: OnePlus 9 Pro 5G Рейтинг: 402 ![]() |
Проблема при работе с K3, V6maxx. Любое действие вызывает полное зависание проги. Но подключается =)
Сообщение отредактировал Synergy - 20.7.2007, 6:25 |
Mystic-Mirage |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 9 Регистрация: 25.10.2005 Пользователь №: 55 877 Модель телефона: Motorola C650 Прошивка: R365_G_0B.D3.08R + Patchs Рейтинг: 2.5 ![]() |
А скажите, можно ли при помощи данной библиотеки работать одновременно с двумя и более телефонами?
|
lucrece |
![]() |
Moto®Head ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 389 Регистрация: 19.12.2005 Из: Кировская область Пользователь №: 62 616 Модель телефона: V3xx Прошивка: R26111LD_U_96.A0.0ER Рейтинг: 329.5 ![]() |
Нет. Но принципиально это вполне возможно. А нужно?
Сообщение отредактировал lucrece - 19.8.2007, 16:34 |
motoprogger |
![]() |
![]() Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 510 ![]() |
Вообще может быть и нужно. Я разработал методику подбора калибровок аккумулятора, для которой нужно подавать тестовые команды на 2 телефона.
Я сам думал о том, чтобы искать все телефоны и сообщать программе, а программа по своему желанию переключала бы телефоны в P2K-режим, но реализовать не смог. |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
Цитата Вообще может быть и нужно. Я разработал методику подбора калибровок аккумулятора, для которой нужно подавать тестовые команды на 2 телефона. Я сам думал о том, чтобы искать все телефоны и сообщать программе, а программа по своему желанию переключала бы телефоны в P2K-режим, но реализовать не смог. Для этого есть MotoVCL |
lucrece |
![]() |
Moto®Head ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 389 Регистрация: 19.12.2005 Из: Кировская область Пользователь №: 62 616 Модель телефона: V3xx Прошивка: R26111LD_U_96.A0.0ER Рейтинг: 329.5 ![]() |
n0wheremany, все конечно, хорошо, но как быть программерам на С? Да и API это API, а VCL это VCL. А я лично не могу использовать MotoVCL, поскольку на D2005/2006 ее нужно перекомпилировать.
|
dwALX |
![]() |
![]() McLaren fan ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 230 Регистрация: 27.4.2005 Из: Саратов Пользователь №: 41 466 Модель телефона: MOTOMING A1200e Рейтинг: 399 ![]() |
Эх, есть метод через одно место, берем D7, делаем API с помощью MotoVCL и пихаем в DLL, а дальше уже на чем хотим юзаем полученную DLL
![]() |
DmT |
![]() |
Мото-Портной ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 175 Регистрация: 31.3.2007 Пользователь №: 129 181 Модель телефона: LG GW620, L7e и др. ![]() Рейтинг: 680 ![]() |
n0wheremany,
lucrece прав. Скомпиль компоны хотябы под основные среды разработки. Ну или собери библу на основе своих исходников. И почему ты не хочеш делится методами работы с телом во флешмоде? |
n0wheremany |
![]() |
![]() Прогр@ммер ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 ![]() |
DmT
Цитата Скомпиль компоны хотябы под основные среды разработки Скоро скачаю D2005, возможно потом D2007 - тагда и сделаю, а пока я их не имею - следовательно нет возможности скомпилить их. Нужно время! ![]() ![]() Цитата Ну или собери библу на основе своих исходников. Не вижу смысла - есть p2kapi - все функции туда можно прикрутить - дело, так сказать, техники Цитата И почему ты не хочеш делится методами работы с телом во флешмоде? Смысл - сразу будет много прошивальщиков и тп. На основе мой VCL было несколько - ктонидь ими пользуется? или хотябы помнит? |
S.T.@.L.K.E.R. |
![]() |
![]() МОТОRadiation ![]() ![]() Группа: Пользователи Сообщений: 55 Регистрация: 31.5.2007 Пользователь №: 136 649 Модель телефона: motorizr Z3 Рейтинг: 42.5 ![]() |
Не могу написать простейшую прогу на Паскале! Подскажите с чего мне начать?
Прогу хочу сделать чтоб могла считывать название проши из CG1! DmT нет,на обычном Паскале! Сообщение отредактировал S.T.@.L.K.E.R. - 22.10.2007, 8:42 |
DmT |
![]() |
Мото-Портной ![]() ![]() ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 1 175 Регистрация: 31.3.2007 Пользователь №: 129 181 Модель телефона: LG GW620, L7e и др. ![]() Рейтинг: 680 ![]() |
Мои извенения за офтоп
![]() S.T.@.L.K.E.R., На Турбо Паскале??? ![]() ![]() ![]() ![]() ![]() Прям не знаю что и думать! |
![]() ![]() |
Текстовая версия | Сейчас: 20.7.2025, 20:51 |
Форум живёт: