R0多线程

来源:互联网 发布:安卓手机淘宝网 编辑:程序博客网 时间:2024/06/05 16:09

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;

}



0 0
原创粉丝点击