Posted on 2009-10-25 16:48
S.l.e!ep.¢% 閱讀(163)
評論(0) 編輯 收藏 引用 所屬分類:
Windows WDM
Q1. CreateFile Open驅動失敗,返回的錯誤是 ERROR_I NVALI D_FUNCTI ON
A1:? 原因是沒有 IRP_MJ_CREATE 和 IRP_MJ_CLOSE
?????? 只需要設置 IRP_MJ_CREATE 和 IRP_MJ_CLOSE, 并添加以下代碼就可以解決
NTSTATUS Close(PDEVICE_OBJECT pDriverObject, PIRP Irp)
{
??? Irp->IoStatus.Infomation? = 0;
??? Irp->IoStatus.Status= STATUS_SUCCESS;
??? IoCompleteRequest(Irp, IO_NO_INCREMENT);
??? return STATUS_SUCCESS;
}
Q2:?WDM 中 UNICODE_STRING? 的比較
A2:? 采用RtlEqualUnicodeString() 函數
Q3: 采用DebugView.exe 調試, 但使用 DbgPrint 或 KdPrint 打印的信息都沒有顯示?
A3:? 在 DebugView.exe 的 Capture 菜單, 里頭選中 Capture Kernel ,再試試
Q4:如何使用 DbgPrint 輸入中文?
A4:UNICODE_STRING ustr; PCWSTR str=L"hello 中華人民共和國"; RtlInitUnicodeString(&ustr,str); DbgPrint("%wZ\n",&ustr);