我想写一个UMDF2 windows驱动程序,我不知道在哪里可以看到OutputDebugString的输出。
这是我的代码,类似于KMDF Hello World。
代码语言:javascript运行复制#include
#include
NTSTATUS UmdfHelloWorldEvtDeviceAdd(_In_ WDFDRIVER Driver, _Inout_ PWDFDEVICE_INIT DeviceInit)
{
UNREFERENCED_PARAMETER(Driver);
NTSTATUS status;
WDFDEVICE hDevice;
OutputDebugString((LPCWSTR)"UmdfHelloWorld: EvtDeviceAdd\n");
status = WdfDeviceCreate(&DeviceInit, WDF_NO_OBJECT_ATTRIBUTES, &hDevice);
return status;
}
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath)
{
NTSTATUS status = STATUS_SUCCESS;
WDF_DRIVER_CONFIG config;
OutputDebugString((LPCWSTR)"UmdfHelloWorld: DriverEntry\n");
WDF_DRIVER_CONFIG_INIT(&config, UmdfHelloWorldEvtDeviceAdd);
status = WdfDriverCreate(DriverObject, RegistryPath, WDF_NO_OBJECT_ATTRIBUTES, &config, WDF_NO_HANDLE);
return status;
}运行KMDF Hello World驱动程序可以成功地输出windbg内核模式调试的结果。但是,UMDF Hello World驱动程序不显示任何输出。
下面是我如何(卸载)安装驱动程序:
代码语言:javascript运行复制devcon.exe install UmdfHelloWorld.inf Root\UmdfHelloWorld
devcon.exe remove Root\UmdfHelloWorld另外,我想使用用户模式调试,但我不知道如何为UMDF驱动程序做这件事。