Windows内核驱动创建线程
2021-07-01
1335
0
创建线程:
HANDLE hthread = NULL;
status = PsCreateSystemThread(&hthread, THREAD_ALL_ACCESS, NULL, NULL, NULL, (PKSTART_ROUTINE)MyThreadProc, FDODeviceExtension);
if (NT_SUCCESS(status))
{
ObReferenceObjectByHandle(hthread, THREAD_ALL_ACCESS, NULL, KernelMode, (PVOID*)&FDODeviceExtension->UpgradeThread, NULL);
ZwClose(hthread);
}
线程等待退出:
if (deviceExtension->UpgradeThread)
{
KeWaitForSingleObject(deviceExtension->UpgradeThread, Executive, KernelMode, FALSE, NULL);
ObDereferenceObject(deviceExtension->UpgradeThread);
deviceExtension->UpgradeThread = NULL;
}
Windows驱动





