VOID DoFind(IN PVOID pContext)
{
}
void StartThread()
{
HANDLE hThread = NULL;
PVOID objtowait = 0;
NTSTATUS dwStatus =
PsCreateSystemThread(
&hThread,
0,
NULL,
(HANDLE)0,
NULL,
DoFind,
NULL
);
if (!NT_SUCCESS(dwStatus)
{
return;
}
if ((KeGetCurrentIrql())!=PASSIVE_LEVEL)
{
dwStatus=KfRaiseIrql(PASSIVE_LEVEL);
}
if ((KeGetCurrentIrql())!=PASSIVE_LEVEL)
{
return;
}
ObReferenceObjectByHandle(
hThread,
THREAD_ALL_ACCESS,
NULL,
KernelMode,
&objtowait,
NULL
);
KeWaitForSingleObject(objtowait,Executive,KernelMode,FALSE,NULL);
ObDereference(&objtowait);
return;
}