Welcome to WinForumz.com!
FAQFAQ      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

WinXP 64-bit Virtual DMA_ADAPTER

 
   Windows XP (Home) -> XP Device Driver RSS
Next:  Another blue screen question  
Author Message
marliner

External


Since: Oct 23, 2007
Posts: 1



(Msg. 1) Posted: Tue Oct 23, 2007 2:47 pm
Post subject: WinXP 64-bit Virtual DMA_ADAPTER
Archived from groups: microsoft>public>windowsxp>device_driver>dev (more info?)

Hi,

I have a virtual bus driver over a USB bus. In this driver, I want to
intercept the GUID_BUS_INTERFACE_STANDARD so that I get requests for
IoGetDmaAdapter().
The reason I want to do this is because in Windows XP 64-bit (unlike
32-bit) these requests fail (the PDMA_ADAPTER that is returned is
NULL).

I have been able to create my own DMA_ADAPTER by intercepting the call
and returning a BUS_INTERFACE_STANDARD. I pass my own
BusGetDmaAdapter() which does get called. In my BusGetDmaAdapter(). I
basically return a DMA_ADAPTER structure that I have created,
including the attached DMA_OPERATIONS...

Basically, this scheme works perfectly fine...the overlaying
applications get data as they expect and everythign in 64 works just
like it does in 32 (from the app point of view).

But, there is major problem...When I run verifier I have severe
problems because Verifier's hooking mechanism does very bad things
because it thinks it is hooking on the Win XP 64-bit DMA_ADAPTER
structure which apparently has data in front of, and I think, in back
of the DMA_ADAPTER. (The Verifier hooing function wants to hook all
the components, not just the DMA_ADAPTER but also the associated
data.) Now, there is no way for me to know what the hooking mechanism
is doing unless I dissasemble the hooking code...and provide Verifier
with fake data there too.

So, my questions are:
1. Can somebody give me a document that tells me how I can properly
simulate WinXP 64-bit's DMA_ADAPTER data so that Verifier will find
what it expects?
2. Is there another way I can do this (fake the DMA)?

I have a very complicated driver that is composed of two drivers that
works perfectly in XP 32-bit because under XP 32-bit a proper
DMA_ADAPTER structure is returned with me doing anything special. I
want make these drivers work under XP 64-bit without having to rewrite
them...and this idea of faking the DMA works...except that verifier
itself causes problems.

I need verifier to work because I need to pass DTM.

Thank you in advance for any help or ideas...

 >> Stay informed about: WinXP 64-bit Virtual DMA_ADAPTER 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
virtual devices - Hello all! As nowadays there are even Virtual PC, VMWare and several others to simulate a whole PC, there must be single virtual device drivers for single devices, such as almost everyone knows about virtual CD/DVD-ROM drives or RAM disk, which is..

Virtual serial port - I need to develop a virtual serial port driver, any tip or example to start ? Thanks

Virtual WebCam Driver - I want to build a virtual webcam driver. Like a WebCam, but that capture screenshots... I tried to make it basing no videocap sample that comes in WINDDK [last version], but I didn't get sucess, because I don't know how to communicate user-mode and..

how to ignore "Continue Anyway" while installing virtual w.. - Hi all, I try to write a virtual webcam by WDM. While installing on XP , the Installing Hardware dialog appear and forge user must be press "Continue anyway" so that go next step of installing. But , on Vista without this problem. Can you he...

Simulating keypresses by creating a virtual device driver - Hello, I am in process of creating a motion detection method for controlling computer games. I am creating a program that detects user movements using a Vicon tracking system, analysing the movements and outputting keystrokes like a normal keyboard..
   Windows XP (Home) -> XP Device Driver All times are: Eastern Time (US & Canada) (change)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum

Categories:
  Windows XP
 Windows Vista!
 Win 2000/NT/98/ME


[ Contact us | Terms of Service/Privacy Policy ]