1.status = ObReferenceObjectByName(
&uniNtNameString,
OBJ_CASE_INSENSITIVE,
NULL,
0,
*IoDriverObjectType,
KernelMode,
NULL,
&KbdDriverObject
);
// 如果失败了就直接返回
if (!NT_SUCCESS(status))
{
KdPrint(("MyAttach: Couldn't get the MyTest Device Object\n"));

本文详细介绍了在驱动编程中遇到的问题,包括如何通过ObReferenceObjectByName获取驱动对象,以及在c2pDetach和c2pUnload函数中正确解除设备绑定和删除设备对象的注意事项。特别强调了在卸载过程中需确保没有待处理的IRP请求,避免因过早删除设备对象导致蓝屏的情况。
最低0.47元/天 解锁文章
1161

被折叠的 条评论
为什么被折叠?



