创建一个虚拟鼠标,在AddDevice中
status = IoCreateDevice (DriverObject, sizeof(DEVICE_EXTENSION), NULL, FILE_DEVICE_MOUSE, 0, true, // Not exclusive &fdo);
这样创建的设备,即便创建符号链接,也不可能在应用程序中打开。
这需要在DriverEntry中创建一个另外一个设备,然后操作这个设备。
UNICODE_STRING deviceLinkUnicodeString; RtlInitUnicodeString(&deviceLinkUnicodeString, DOS_DEVICE_NAME); status = IoCreateSymbolicLink(&deviceLinkUnicodeString, &deviceNameUnicodeString); if (!NT_SUCCESS(status)) { if (FunctionDevice) { IoDeleteDevice(FunctionDevice); return status; } }