|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 20, 2004 00:20:25 На СИ было так: WORD GetRasEntryCount() { RASENTRYNAME RasEntry; DWORD Count,RET; DWORD sofRasEntry=sizeof(RASENTRYNAME); ZeroMemory(&RasEntry,sizeof(RasEntry)); RasEntry.dwSize=sofRasEntry; RET=RasEnumEntries(NULL,NULL,&RasEntry,&sofRasEntry,&Count); if(RET==ERROR_BUFFER_TOO_SMALL || RET==0) return Count; else return NULL; } Я делал так: GetRasEntryCount proc LOCAL RasEntry:RASENTRYNAME LOCAL Count:DWORD LOCAL sofRasEntry:DWORD invoke memfill,addr RasEntry,sizeof RasEntry,0 mov sofRasEntry,sizeof RASENTRYNAME mov RasEntry.dwSize,sizeof RASENTRYNAME invoke RasEnumEntries,NULL,NULL,addr RasEntry,addr sofRasEntry,Count .if(eax == ERROR_BUFFER_TOO_SMALL || eax == 0) mov eax,Count ret .endif xor eax,eax ret GetRasEntryCount endp Код компилиться но не возвращает Count А на СИ все пашет В чем загвоздка... |
|
|
Дата: Апр 20, 2004 00:31:48 Эхе... Трояна пишешь?.. ;) invoke RasEnumEntries,NULL,NULL,addr RasEntry,addr sofRasEntry,addr Count <- ! -> &Count |
|
|
Дата: Апр 20, 2004 00:35:30 · Поправил: PavPS RET=RasEnumEntries(NULL,NULL,&RasEntry,&sofRasEntry,&Count); invoke RasEnumEntries,NULL,NULL,addr RasEntry,addr sofRasEntry, ??Count по моему... :) |
|
|
Дата: Апр 20, 2004 00:40:00 нет нет там было addr просто пробывал потом по разномц и сюда всталял и не проверил |
|
|
Дата: Апр 20, 2004 00:43:27 · Поправил: snatch переменная ведь локальная... м-да.. :p Т.е. если addr используешь, то будет так: lea eax,[ebp+count] push eax если без него, то так: push dword ptr [ebp+count] Надо адрес переменной, а не значение. |
|
|
Дата: Апр 20, 2004 00:48:06 snatch переменная ведь локальная... м-да.. :p и что???? |
|
|
Дата: Апр 20, 2004 00:57:55 · Поправил: Asterix Или так ;-) GetRasEntryCount proc LOCAL RasEntry:RASENTRYNAME LOCAL Count:DWORD invoke RtlZeroMemory, ADDR RasEntry, SIZEOF RasEntry mov RasEntry.dwSize, SIZEOF RASENTRYNAME invoke RasEnumEntries, NULL,NULL, ADDR RasEntry, ADDR RasEntry.dwSize, ADDR Count .if eax == ERROR_BUFFER_TOO_SMALL || eax == 0 mov eax, Count .else xor eax, eax .endif ret GetRasEntryCount endp |
|
|
Дата: Апр 20, 2004 01:09:11 Все равно ноль возращает,а должно быть количество соеденений |
|
|
Дата: Апр 20, 2004 01:17:47 snatch lea eax,[ebp+count] push eax если без него, то так: push dword ptr [ebp+count] Это разные вещи ;-))) |
|
|
Дата: Апр 20, 2004 05:42:26 · Поправил: q_q Asterix В твоем коде сначала инициализируется RasEntry.dwSize, а потом обнуляется вся область RasEntry. AsbAlex Чему равны значения sizeof(RASENTRYNAME) в C и ассемблере? |
|
|
Дата: Апр 20, 2004 08:23:11 q_q Точно, не доглядел. Поправил.. |
|
|
Дата: Апр 21, 2004 00:28:27 РЕбята проблему я решил заключалось втом что как пишет один товарищ в WINDOWS глюк с RASENTRYNAME что-бы правильно определить ее размер надо или новую структуру определть так RASENTRYNAME_ struct dwSize dd ? szEntryName db MAX_PATH dup(?) RASENTRYNAME_ ends или же делать так mov RasEntry.dwSize, SIZEOF RASENTRYNAME+3 |
|
|
Дата: Апр 21, 2004 13:42:03 или же делать так mov RasEntry.dwSize, SIZEOF RASENTRYNAME+3 а если внимательно почитать MSDN то там именно так и написано. Причем явно. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.053 |