|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Дек 31, 2003 03:03:23 · Поправил: Безпощадный даос Привет!!! С праздничком всех (прошедшим уже, наверное) Извиняйте, что не в том языке, но больше нигде не помогли!!! (да и не в языке дело, а в принципе) Кто знает, почему при выполнении следующего кода не создается новый поток:
DWORD WINAPI ThreadFunc( LPVOID lpParam )
{
int nRet = 0;
DWORD lpcb=0, lpcConnections=0;
LPRASCONN lpRasConn = (LPRASCONN)GlobalAlloc(GPTR, sizeof(RASCONN));
lpRasConn->dwSize = sizeof(RASCONN);
while(!nRet)
{
Sleep(1000);
nRet = RasEnumConnections(lpRasConn, &lpcb, &lpcConnections);
if(nRet)MessageBox(NULL, "YES","Inet",MB_OK);
}
GlobalFree(lpRasConn);
return 3;
}
BOOL APIENTRY DllEntryPoint( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hMpr=GetCurrentProcess();
HANDLE hThread=CreateRemoteThread(GetCurrentProcess(), NULL, NULL, ThreadFunc, &dwThrdParam, NULL, &dwThreadId);
}
}
return TRUE;
}DLL' ка грузится при старте Вындовс98, как параметр mprexe.exe (mprexe.exe mydll.dll, DllEntryPoint) через один ключ реестра.
CreateRemoteThread возвращает ноль. Если кто-нить знает - помогите pleazzze!!! Вы последняя надежда :) |
|
|
Дата: Дек 31, 2003 04:44:06 Что говорит GetLastError? Цитата из описания DllMain: The entry-point function should perform only simple initialization or termination tasks. |
|
|
Дата: Дек 31, 2003 11:32:11 1) CreateRemoteThread НЕ РЕАЛИЗОВАНА в Win9x - RTFMSDN. 2) Использовать CreateRemoteThread для создания потока в _собственном_ процессе (передавая ей GetCurrentProcess()) - это редкостное извращение, существует ф-ция CreateThread (которая, правда, в WinNT реализована как CreateRemoteThread(GetCurrentProcess(), ...) ;-)) 3) Наконец, создавать потоки в DllEntry достаточно опасно. Почитайте Рихтера, у него это достаточно подробно описано. В принципе, это и есть краткий список причин, по которым Ваш код не работает. |
|
|
Дата: Янв 2, 2004 02:43:09 Всем спасибо за ответы!!! Разобрался - все работает... (хреново, когда руки кривые) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.165 |