|
在《[5-7]强制解锁文件》里,用以下代码关闭句柄:- VOID ForceCloseHandle(PEPROCESS Process, ULONG64 HandleValue)
- {
- HANDLE h;
- KAPC_STATE ks;
- OBJECT_HANDLE_FLAG_INFORMATION ohfi;
- if( Process==NULL )
- return;
- if( !MmIsAddressValid(Process) )
- return;
- KeStackAttachProcess(Process, &ks);
- h=(HANDLE)HandleValue;
- ohfi.Inherit=0;
- ohfi.ProtectFromClose=0;
- ObSetHandleAttributes(h, &ohfi, KernelMode);
- ZwClose(h);
- KeUnstackDetachProcess(&ks);
- }
复制代码 不过这段代码只可以关闭普通句柄,无法关闭内核句柄。关闭内核句柄的代码,应该加上如下处理:这样就可以关闭内核句柄了。 |
|