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
3
votes
1 answer
UMDF, cannot specify [ClassInstall32] section for Microsoft-defined class
I'm working with the next tutorial: How to write your first USB client driver.
And I've got a problem with compiling a project, I've got the next error:
I was trying to do the steps closely to the description in tutorial, but always got the error…
user4959035
3
votes
2 answers
How does a Windows Kernel mode Driver, access paged memory?
1) A usermode process has its own "address context", which maps the user-mode virtual addresses to a unique collection of physical page frames.
That is, the meaning of any particular virtual address changes from one moment to the next as the Windows…

bakra
- 387
- 4
- 15
3
votes
0 answers
Persistently write to a file from windows kernel driver
Hi I'm new to kernel level programming and trying to build a simple log writing driver. What I'm trying to achieve is to have a persistent driver will write referred text every predefined interval to a file in system path. (I'm not familiar IRQ…

Antonio Rodriguez
- 31
- 2
3
votes
1 answer
why we can access memory from non paged pool at or above DISPATCH LEVEL
As I know that if IRQL level is dispatch then you can access memory from non paged pool. if we will try to access memory from paged pool.just wanted to know why ?

MM WDD
- 43
- 1
- 4
2
votes
1 answer
How to get current working directory from windows kernel mode driver code?
I am writing a Windows kernel mode driver which uses API
PsSetCreateProcessNotifyRoutineEx
In its callback function, I need to get the current working directory of process.
How this can be done? Any ideas, leads would be very useful.
Thanks in…

Hemant
- 767
- 6
- 20
2
votes
0 answers
Linker error when compiling windows kernel mode driver x64
I'm trying to compile the sysvad audio driver example found here: https://github.com/Microsoft/Windows-driver-samples/tree/master/audio/sysvad
Getting a linker error when compiling windows kernel mode driver x64
error LNK2019: unresolved external…

Nick
- 2,735
- 1
- 29
- 36
2
votes
0 answers
Route ASIO input to WDM virtual microphones
I'm doing some sound manipulation with the Dante Virtual Soundcard (DVS). The software I am using (ffmpeg) can only record from WDM microphones. DVS has a limitation of 8 stereo channels for WDM, so I'm seeing if I can use the 64 channel ASIO…

JohnX
- 23
- 3
2
votes
1 answer
Iterating over WDM device stack
As I understand, one can iterate the device stack of WDM devices only from the bottoms up, because DEVICE_OBJECT has an AttachedDevice member (but not a LowerDevice member). Luckily, the AddDevice callback receives the PhysicalDeviceObject so you…

Ilya
- 5,533
- 2
- 29
- 57
2
votes
1 answer
How to emulate SCSI device
Let's sketch the picture.
Windows provides SCSI port (bus) driver. Driver creates FDO for bus (FILE_DEVICE_BUS_EXTENDER) and PDO for each device connected to bus (FILE_DEVICE_MASS_STORAGE). We "connect" mass storage devices to bus device inside PnP…

igntec
- 1,006
- 10
- 24
2
votes
2 answers
IoBuildAsynchronousFsdRequest with IRP_MJ_WRITE
I developed a WDM filter driver on disk driver. I want to send an asynchronous request to write data on disk. The windows will crash when I delete the writeBuffer memory in WriteDataIRPCompletion function.
My question is: How can I safely free the…

JoeHsu
- 46
- 4
2
votes
1 answer
DDK/WDM import wink32.lib into driver
Recently I was trying to use W32pServiceTable in my driver. I did imported wink32.lib in SOURCES:
TARGETNAME=exp
TARGETTYPE=DRIVER
TARGETLIB=$(DDK_LIB_PATH)\win32k.lib
SOURCES=Experimental.cpp
MSC_WARNING_LEVEL=/W3
And I declare in source…

Vasilij
- 131
- 1
- 9
2
votes
1 answer
How to register acpi event notify?(AcpiInterfaces.RegisterForDeviceNotifications)
now I want to add the function in my acpi driver .
the function is:get the BIOS Notify .
I search some doc, And Write code
NTSTATUS
XxxAddDevice(
__in struct _DRIVER_OBJECT *DriverObject,
__in struct _DEVICE_OBJECT *PhysicalDeviceObject
…

LeenLi
- 51
- 5
2
votes
1 answer
Two Spinlocks on same processor?
Can two CPUs hold two "different" spin locks simultaneously at same time?
So...does this mean: a sigle(uniprocessor) CPU cannot hold two "different" spinlocks at the same time?
So...does this mean: the number of spinlocks on a single CPU cannot be…

bakra
- 387
- 4
- 15
2
votes
4 answers
When to use Wave Extensible Format?
I'm writing an audio library that includes reading and writing wave files and I understand the differences between the three possible wave file formats, but it's unclear when to use the extensible format when dealing with mono or stereo PCM data.…

riban
- 41
- 3
- 7
2
votes
0 answers
Get keyboard (PS/2) scan code set, using asm
I would like to get my keyboard current scan code set.
Code that I am using looks more or less like this:
#define STATUSPORT 64h
#define DATAPORT 60h
#define PS2controllerOutputFull 0x20
#define PS2controllerInputFull 2h
void sendByte()
{
…

ladan
- 423
- 4
- 10