IoBuildSynchronousFsdRequest fails

Hi all,
If IoBuildSynchronousFsdRequest returns NULL, how can we find what is wrong.

I am doing a call for READ operation, and it works fine on all OS, but fails on Windows XP.

Driver Development don’t have errono or something like this?

Thanks

Either you are doing something wrong - in which case you need to debug the issue - or there is a memory allocation failure.

The failure for this function is to return NULL. An experienced programmer is expected to either know why this would happen, or to walk the function with the debugger in assembly mode.

Tony
OSR

The memory allocated for Buffer (the case is IRP_MJ_READ) returns an address like 0xec100000. Something weird (debugger can’t display the memory stating error on memory).

This is the only thing I could figure out, and definitely the root cause for IoBuildSynchronousFsdRequest failure.

What could be wrong in here, the memory address is not valid? Why. It is allocated via ExAllocatePoolWithTag(PagedMemory, …) it is the same code that works fine on Win7, but the error is on WinXP.

> The memory allocated for Buffer (the case is IRP_MJ_READ) returns an address like 0xec100000.

System cache?


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

I don’t know if it is the system cache. but even if it is, how to avoid it???
What could be different with allocatepoolwithtag for Xp and later versions