Точнее проблема в функции RasSetEntryProperties. Если размер структуры RASENTRYA больше 1768 - ошибку выдаёт. Эта структура есть у меня в windows.inc, весит 1766, и там крайне ограничены параметры, а на более расширённую версию структуры ругается, как быть?
Flasher Если размер структуры RASENTRYA больше 1768 - ошибку выдаёт Я бы сказал так: "Ошибка если размер структуры RASENTRY не равен одному из допустимых значений". Посмотреть их можно в rasapi32.dll. Например, wxpprosp2rus Код (Text): ... Exported fn(): RasSetEntryPropertiesW - Ord:006Dh :76ED9ACE 8BFF mov edi, edi ... :76ED9B22 8B4510 mov eax, dword ptr [ebp+10] ... :76ED9B31 8B00 mov eax, dword ptr [eax] :76ED9B33 3DF0150000 cmp eax, 000015F0 :76ED9B38 741F je 76ED9B59 :76ED9B3A 3DD00F0000 cmp eax, 00000FD0 :76ED9B3F 7418 je 76ED9B59 :76ED9B41 3DA80D0000 cmp eax, 00000DA8 :76ED9B46 7411 je 76ED9B59 :76ED9B48 3D8C0D0000 cmp eax, 00000D8C :76ED9B4D 740A je 76ED9B59 :76ED9B4F B878020000 mov eax, 00000278 ;; eax := ERROR_INVALID_SIZE :76ED9B54 E9F5000000 jmp 76ED9C4E :76ED9B59 ... Exported fn(): RasSetEntryPropertiesA - Ord:006Ch :76ED9C74 8BFF mov edi, edi ... :76ED9C8B 8B7510 mov esi, dword ptr [ebp+10] ... :76ED9CBE 8B06 mov eax, dword ptr [esi] :76ED9CC0 3D440B0000 cmp eax, 00000B44 :76ED9CC5 741F je 76ED9CE6 :76ED9CC7 3D28080000 cmp eax, 00000828 :76ED9CCC 7418 je 76ED9CE6 :76ED9CCE 3D04070000 cmp eax, 00000704 :76ED9CD3 7411 je 76ED9CE6 :76ED9CD5 3DE8060000 cmp eax, 000006E8 :76ED9CDA 740A je 76ED9CE6 :76ED9CDC B878020000 mov eax, 00000278 ;; eax := ERROR_INVALID_SIZE :76ED9CE1 E95B040000 jmp 76EDA141 :76ED9CE6 ... как быть? Посмотреть (по размеру) какая структура тебя устроит, и использовать ее.
asmlamo что это за мутная функция Это Си. Она берется из msvcrt.lib. чем заменить можно? memset - заполнить область памяти. Первый параметр начальный адрес, второй - байт заполнения, третий - размер области. Заменить можно, например, rep movsb/movsw/movsd или RtlZeroMemory или RtlFillMemory.
Код (Text): invoke memset,addr re,0,00000B44h замени на Код (Text): lea edi,re mov ecx,00000B44h xor al,al rep stosb