wdk

Port 32-Bit Windows driver to 64-Bit Windows

Since our applications run in fullscreen mode, we have developed a keyboard hooking driver to disable user input for keys like ALT+F4, CTRL+ALT+DEL and so forth. The driver is developed in C using the Windows Driver Kit. Compiling for 32-Bit works and it loads the driver on Windos 7 32-Bit and it works as expected. Compiling for 64-Bi...

Print Job Accepting and routing Software

I want to create a software which can accept Print Jobs from other computers, and then route those print jobs to PCs on LAN with printers attached. How it's going to happen -> 1- When that software called "Virtual Printer" is installed on a computer "X", Windows should think that it is a print driver/attached printer to that computer. ...

WDK (Windows Driver Kit) and VC++ headers problem

Hi, I'm trying to read from an USB HID device, I know how to do it in C# using DLLImport hid.dll, but I want to do it from C++, this way I don't have to declare all the structures, etc, and just include the headers files. So I downloaded the WDK and then when including the headers files and linking the libraries I'm getting a lot of er...

How can I compile Programmer Dvorak?

I'm trying to compile the open source project Programmer Dvorak. The problem is that it's a bit old and doesn't build with the current versions of the build tools. You can see the full source code with modifications I made online at my project's Google Code page. Revision 2 is the unmodified source files from the original project. Revis...

Windows Driver Kit: swap buffers

Hello! I am trying to adapt swapBuffers sample on WDK so that the swapped buffer is the same one than original buffer but in upper case. Modifying this lines on SwapPostReadBuffers() it doesn't work... I get execution errors. Can anyone help me to do it? THANKS // We suppose that input data are always characters in lower case. UCHAR *...

WDK : get processId by name.exe

Hi, I'm developing a driver in Windows Filtering Platform and I need the process ID of another process to do what I need to do. I know only the file name of that process (name.exe). In win32 I could use the function CreateToolhelp32Snapshot to get the list of all processes and I could search the PID there. ( http://msdn.microsoft.com/en...

Is there a book that introduces the Microsoft WDK samples in great detail?

Especially those under Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow Is there such a book? ...

How to use ZwQueryInformationProcess to get ProcessImageFileName in a kernel driver

I'm writing a simple kernel driver for my application (which is somehow an antimalware application). I hooked ZwOpenFile() and got the process handle calling this API with PsGetCurrentProcess() which returns a PEPROCESS stucture: PEPROCESS proc = PsGetCurrentProcess(); then I used ZwQueryInformationProcess to get the PID and ImageFil...

Determine Physical Location of a PCI Adapter

We have a Windows application that can use multiple PCI adapters. These adapters all have external physical connections to other hardware or cables. Our software is configured to know what the physical connection on each card is connected to. Imagine audio software that supports multiple sound inputs and outputs. The audio software i...

How to link to NTQueryKey in Kernel Mode

For the life of me I can't figure out how to resolve the declared NTQueryKey value in my device driver. I looked for a device driver forum, but didn't find one. Can someone point me to the right place? OSR isn't very responsive with dumb questions like how to link to NTQueryKey. Here is my prototype: NTSYSAPI NTSTATUS NTAPI NtQueryK...

What causes the differences between a driver on disk and a driver mapped to memory?

Hey, Today I tried to do a binary diffing of NDIS.sys, and I noticed something weird. I took a function, and began to diff it. The first 30 bytes were the same on the disk(using IDA) and on memory(using WinDbg). Then, something have changed. I saw something like "jmp _imp_XXXXX". the JMP bytes were the same, but the address was different...