gevara
21.05.2007, 00:12
может ли DriverEntry функция создавать потоки? при этом необходимо, чтобы поток продолжал работать, а функция DriverEntry уже завершилась.
Пробовал таким образом:
void Func(PVOID a)
{
LARGE_INTEGER delay;
delay.QuadPart = SEC(1000);
while(1)
KeDelayExecutionThread(KernelMode,0,&delay);
}
//////////////////////////////////////////
NTSTATUS DriverEntry(..)
{
PsCreateSystemThread(Func);
return STATUS_SUCCESS;
}
При этом ринг3 приложение, загружающее драйвер виснет... Не понимаю почему это происходит.
Пробовал таким образом:
void Func(PVOID a)
{
LARGE_INTEGER delay;
delay.QuadPart = SEC(1000);
while(1)
KeDelayExecutionThread(KernelMode,0,&delay);
}
//////////////////////////////////////////
NTSTATUS DriverEntry(..)
{
PsCreateSystemThread(Func);
return STATUS_SUCCESS;
}
При этом ринг3 приложение, загружающее драйвер виснет... Не понимаю почему это происходит.