ioctl from Win32 exe to x64 driver?

Can a Win32 executeable make an IOCTL call to a 64-bit kernel driver, or
must it also be a 64-bit exe? Many thanks.

Yes, a 32-bit EXE can do IOCTL calls to a 64-bit driver.

“Neil Weicher”
Sent by: xxxxx@lists.osr.com
07/09/2007 11:50 AM
Please respond to
“Windows File Systems Devs Interest List”

To
“Windows File Systems Devs Interest List”
cc

Subject
[ntfsd] ioctl from Win32 exe to x64 driver?

Can a Win32 executeable make an IOCTL call to a 64-bit kernel driver, or
must it also be a 64-bit exe? Many thanks.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@attotech.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

It can… But you have to be wary of passing structures with pointers to
data in

BR,

Rob Linegar
Software Engineer
Data Encryption Systems Limited
www.des.co.uk | www.deslock.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Neil Weicher
Sent: 09 July 2007 16:45
To: Windows File Systems Devs Interest List
Subject: [ntfsd] ioctl from Win32 exe to x64 driver?

Can a Win32 executeable make an IOCTL call to a 64-bit kernel driver, or

must it also be a 64-bit exe? Many thanks.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@des.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com

Yes. A Win32 application can send IOCTLS to drivers.
If pointers are passed in the IOCTL, the driver must determine if the call is from a 32 bit or 64 bit caller and
deal with the alignment issues that will arise.

Quoting Neil Weicher :

> Can a Win32 executeable make an IOCTL call to a 64-bit kernel driver, or
> must it also be a 64-bit exe? Many thanks.
>
>
> —
> Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@dsl.pipex.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

Yes it can, but note - if IOCTL’s buffer contains pointer-precision data
types - like xxx_PTR, pointers and HANDLE - then the driver must have the
special support coded for 32bit callers.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

“Neil Weicher” wrote in message news:xxxxx@ntfsd…
> Can a Win32 executeable make an IOCTL call to a 64-bit kernel driver, or
> must it also be a 64-bit exe? Many thanks.
>
>