Windows Driver Model is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD. It was later replaced with Windows Driver Foundation (WDF).
Questions tagged [wdm]
134 questions
2
votes
1 answer
Convert ProcessID to Process Handle
i am trying write basic driver for monitor process and get process path.
i create PsSetCreateProcessNotifyRoutine and retrieve Process information using ZwQueryInformationProcess
but in my ProcessCallback function when i try to get current process…

AminM
- 1,658
- 4
- 32
- 48
2
votes
0 answers
How do you calculate maximum CPU frequency from a WDM kernel-mode driver?
The problem is this: I'm trying to calculate CPU frequency within a kernel-mode WDM driver based on the IOCTL sample skeleton but it doesn't want to compile if I try to use QueryPerformanceFrequency or QueryPerformanceCounter. I feel like maybe…

Alexandru
- 12,264
- 17
- 113
- 208
2
votes
1 answer
Where can I find a minimalistic WDM driver template with source code in it?
I came across kernel-mode drivers with very little experience. Here's what I am trying to do:
Have a user-mode application that loads the driver.
Have the user-mode application write to it, in order to send it an instruction.
Have the driver send…

Alexandru
- 12,264
- 17
- 113
- 208
2
votes
1 answer
Force USB High Speed EHCI 2.0 hub to enumerate as Full Speed UHCI/OHCI device
In Windows XP SP3 is there a registry key or some setting, maybe even at the device level in the registry, that an EHCI USB 2.0 High Speed hub can be enumerated as a UHCI or OHCI full speed device at the host level?
I am seeing an issue where a USB…

Preston
- 2,543
- 1
- 17
- 26
2
votes
1 answer
why we need to create two device objects ( PDO and FDO) for a single device attached to bus?
i m new in windows , while reading WDM driver , i encountered about device object (PDO and FDO) .I m not able to visualize why we need 2 different device object as after loading the driver why we again create FDO in ADDDevice routine . we can use…

uday singh
- 61
- 9
2
votes
1 answer
how to call NdisOpenAdapterEx or the alternative outside the ProtocolBindAdapter routine?
I am porting the famous packet capture software -- WinPcap from NDIS 5.0 to NDIS 6.x. I tried to translate every NDIS 5.0 function to its 6.0 version. In WinPcap sourcecode function NdisOpenAdapter is called by NPF_OpenAdapter in Openclos.c. I…

hsluoyz
- 2,739
- 5
- 35
- 59
2
votes
0 answers
IKsPropertySet interface is not supported in IMFMediSource
I am porting my Direct Show camera based SDK to MFT. In my old code I have KSProxy interface like IksTopolgy,IKsControl and IKsProperty .
IksTopolgy,IKsControl is used to enumerate the property set and IKsProperty to get/set the property…

Vikram Ranabhatt
- 7,268
- 15
- 70
- 133
2
votes
1 answer
How to make a usb device load my function driver?
I have written a usb function driver. if I want any usb device that plugged in my computer load this driver rather than its real driver, what should I do? I only know if I change vid/pid when bus driver create pdo, I can make it. But I don't know if…

Jack
- 21
- 3
2
votes
0 answers
Visual Studio 2012: Creating project from existing source code
I want to create WDM kernel driver project (for x64 and win32 config).
I created one from VS File->New->Project from existing source code. For Project type there 4 options: Windows Application Project, Console, DLL, Static (LIB) project, and no…

code muncher
- 1,592
- 2
- 27
- 46
1
vote
1 answer
MSVAD sending audio through IOCTL and getting silences each X ms
I am sending audio frames from userland to kernel mode driver using IOCTL, it's working so far but I am having a lot of silences each X ms. I am struggling with timings to wait between sendings and with buffer size without luck at the minute.
The…

forlayo
- 1,371
- 2
- 13
- 23
1
vote
0 answers
WriteFile and receiving IRP_MJ_WRITE with buffer on Irp->UserBuffer
I am coding a kernel mode driver and pretending to send buffers from userland, I am doing it with DirectIO creating a file and symbolik link on service, and listening for IRP_MJ_WRITE and then sending data from userland with WriteFile.
I am receving…

forlayo
- 1,371
- 2
- 13
- 23
1
vote
1 answer
Windows 2000 wdm: no display driver calls the HwVidStartIo of my miniport driver
I am writing a graphic miniport driver for Windows NT 4.0 - 5.1. I am stuck in the situation, that HwVidStartIo of my miniport driver never gets called.
I would expect that a display driver triggers the function calls by sending requests to…

Some name
- 39
- 6
1
vote
1 answer
Why is sizeof(IO_ERROR_LOG_PACKET) == 48 and not 44?
typedef struct _IO_ERROR_LOG_PACKET {
UCHAR MajorFunctionCode; offset: 0 byte, size: 1 byte
UCHAR RetryCount ; offset: 1 byte, size: 1 byte
USHORT DumpDataSize ; offset: 2 byte, size: 2 byte
USHORT NumberOfStrings ; offset: 4 byte,…

Some name
- 39
- 6
1
vote
1 answer
How do I verify the digital signature of an image from the WDM driver?
I need to verify the digital signatures of downloaded images (dll, exe), if the image does not have a specific signature, it is necessary to reject its download. How can I do this? Are there functions for verifying digital signatures?
Both a…

Tim
- 25
- 4
1
vote
1 answer
How to detect session creation/termination in the WDM driver?
I'm building a device driver for Windows (WDM driver, 32 bit), and I need to detect the creation and the closure of the terminal sessions.
I know how to obtain the session ID of the caller process (ZwQueryInformationProcess with the…

valdo
- 12,632
- 2
- 37
- 67