Callback function for IOCTL calls.

device driver

    Sponsored Links


  • 1. Point And print printing, cross platform problem
    Hello, I have tried following combinations:- Note:- server is the machine were a printer has been shared. Client is a machine which connects to the printer share. 1) windows 2000 client and windows 2000 server 2) windows XP client and windows XP server 3) windows 2003 client and windows 2003 server. All the above cases works fine.GetPrinter(...) returns a non-NULL DEVMODE in PRINTER_INFO_2 on the client and is the expected outcome But if I am to mix like below:- windows 2000 server and windows XP client when I call GetPrinter(...) on the client machine. the pDevMode becomes NULL, I feel I am missing something in my printer driver. What could be the reason? thanks vipin
  • 2. SilentInstall
    Hi We have developped a device driver stack that "mounts" removable storage. When a new volume is detected by PnP manager, the system ask for one of our drivers (the one actually creating the disk objects), even is this driver has already been installed in the system. We have then to provide the path to this driver file, and this is somewhat annoying. We want to avoid this behavior. In our DispatchPnp routines, we set the SilentInstall capabilities this way: case IRP_MN_QUERY_CAPABILITIES: { PDEVICE_CAPABILITIES capabilities; capabilities = irpSp->Parameters.DeviceCapabilities.Capabilities; capabilities->SilentInstall = 1; ... ntStatus = STATUS_SUCCESS; break; } Our drivers are not digitally signed and won't be for a long time. What can be done to avoid that the system asks for the driver file, that has actually already been installed ? TIA VV
  • 3. Unidriver PaperSize feature
    Hi there, I have a GPD file for Unidriver that specifies 6 different possible paper sizes using the PaperSize Feature. When I look at the Printer Properties when my driver is installed, I see all 6 sizes available. This is good, but when I open Microsoft Word, only 3 sizes show up in the Page Setup/Paper Size menu. I've tried everything I can think of, but still only 3 sizes show up in MS Word, but all 6 in Printer Properties. Is there something I'm doing wrong or is this an issue with MS Word?? Thanks
  • 4. Convert serial port to TCP/IP and back again
    I am trying to write a windows 2000 driver that co-operates with an application on another Posix compliant system (QNX). Posix app gathers data from a serial port and transmits it via TCP/IP. The function of the windows 2000 driver will be to take this data and reconstruct it and present it as though it were coming from a local serial port. The first thing I would like to know is ... am I trying to re-invent the wheel here? I mean is there some existing driver I could use for this purpose? Is this a potentially large and difficult task or is there some fairly easy way to approach the problem? How would you approach it?
  • 5. Disable TC Card Driver by script or ...?
    I need to disable/enable my TV card drivers easily. Is there a chance to do so other than the Device Manager? Actually I am looking for a script or something which I can use as a shortcut. Unfortunately I do not know much about this, but maybe some of the experts can help me out. Regards HW

Re: Callback function for IOCTL calls.

Postby Tim Roberts » Mon, 06 Sep 2004 14:42:21 GMT

What user-define IOCTL calls?

Kernel streaming drivers do not handle user IOCTLs.  If you need to offer
some custom functions to user-mode apps, you define a custom property set.
There are several KSPROPERTY sets defined in the USBIntel example.
- Tim Roberts,  XXXX@XXXXX.COM 
  Providenza & Boekelheide, Inc

Similar Threads:

1.How can I call DrvBitBlt callback function?

Hi. I am looking for a way to call(or hook out?) DrvBitBlt in my
rendering plug-in. I am developing an image driver using Oemuni sample
in Win2K DDK.

I need to call the DrvBitBlt function. 

My problem is... 

         |  text     |====>> boundary lines surrounding a cell.

There are no boundary lines in printed image when I print any
worksheet in Excel using my image driver. But in case I draw a line or
something or put a clip art in the same worksheet and then print the
sheet, the lines missed in previous image are visiable.

The only difference between both printing is whether the DrvBitBlt
callback function is called or not. Maybe there are more differences
but I can't find out.

So I am looking for a way to call DrvBitBlt. I checked some flags such
as flGraphicsCaps in DEVINFO structure but no differences.

Is it an application dependent problem so I can't call DrvBitBlt
anywhere I want? I guess there must be any flag or structure related
with DrvBitBlt call.

Anyone has a good idea? 

Thanks in advance.

2.Calling IOCTL of driverB from within an IOCTL of driver A with same datapointer

With WinCE6.0 I have a problem calling an IOCTL from within an other
IOCTL using the same datapointer. In some cases a data abort exeption
is rised and the driver is dead.
In an application there is a call to an IOCTL to driverA. Parameter is
a pointer to a struct. Inside DriverA_IOControl handler there is
another call to a second IOCTL of driverB. The data pointer pBufIn of
driverA is transfered to DriverB_IOControl. In DriverB_IOControl there
is some save buffering by calling CeOpenCallerBuffer(...). Using this
data pointer sometimes leeds to the data abort exeption and crashes
the driver. Debugging is not possible because then the crash does not
Is there someone who has the same behavior. Has someone a solution for


3.error calling PsLookupThreadByThreadId in thread creation callback

I'm trying to keep track of new threads with a simple driver by registering a 
thread creation callback using PsSetCreateThreadNotifyRoutine. The WDK 
documentation says "In the notification callback routine, the file system 
filter driver can use the passed in ThreadId parameter and call 
PsLookupThreadByThreadId to locate the ETHREAD structure." However, this does 
not work for me, and calling PsLookupThreadByThreadId (or ZwOpenThread) 

I've seen a few other postings on the web with a similar problem. Could this 
be a documentation error and not possible at all? or maybe I missed anything 
in the code (note that my driver is pretty simple and not a file system 
filter driver, but this should not matter, right?)

Thanks for any suggestions,

4.HOWTO: call service callback from IRP_MJ_DEVICE_CONTROL (keybo

"Tomasz Zielinski" wrote:
> Do you know what might cause this error?



5.HOWTO: call service callback from IRP_MJ_DEVICE_CONTROL (keyboard filter)

I have win32 app and PS/2 keyboard filter driver. I can successfully
pass IOCTL from the app to the driver. I can see that IOCTL inside
my IRP_MJ_DEVICE_CONTROL function and, for example, set
a global flag to change behaviour of the service callback.
This works fine.

But I failed to call service callback itself, to inject keystrokes.

I couldn't find any example on that subject. I spent whole day
experimenting with KeInitializeDpc,
KeInsertQueueDpc/KeInitializeTimer, KeRaiseIrql and
KeLowerIrql but nothing worked. I either got blue screens
(IRQL_NOT_LESS_OR_EQUAL) or my attempts were ignored.

Can you please help me and explain how can I properly queue/raise
service callback call from inside IRP_MJ_DEVICE_CONTROL
routine? If you could provide some pseudo-code, it would be a
great help.

I promise never try to write any driver again T_T

6. Calling IoGetDeviceObjectPointer during a PNP callback?

7. 1394 - Isochronous Listen - Windows XP - Callback is called too often

8. Calling ZwOpenKey from registry callback routine

Return to device driver


Who is online

Users browsing this forum: No registered users and 97 guest