Irp->IoStatus.Status & IO_STATUS_BLOCK

Hi,

Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK IoStatus.Status? Also between Irp->IoStatus.Information & IO_STATUS_BLOCK IoStatus.Information?

Thank you.
Harsha


Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get Yahoo! Messenger with Voice

In what context are you asking this question? After passing an on stack declared IO_STATUS_BLOCK to an IoBuildXxxx routine?

d

– I can spell, I just can’t type.
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Harsha Inamdar
Sent: Friday, May 19, 2006 11:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Irp->IoStatus.Status & IO_STATUS_BLOCK

Hi,
?
Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK IoStatus.Status?? Also between Irp->IoStatus.Information & IO_STATUS_BLOCK IoStatus.Information?
?
Thank you.
Harsha


Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get Yahoo! Messenger with Voice — Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Nope. If you look at the IRP definitions you will see that the IRP uses
the IO_STATUS_BLOCK structure. Did you look at the IRP defined in the
headers?

Gary G. Little


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@yahoo.com
Sent: Friday, May 19, 2006 1:58 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Irp->IoStatus.Status & IO_STATUS_BLOCK

Hi,

Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK
IoStatus.Status? Also between Irp->IoStatus.Information & IO_STATUS_BLOCK
IoStatus.Information?

Thank you.

Harsha


Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get
http:evt=39663/*http:/messenger.yahoo.com> Yahoo! Messenger with Voice —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List
Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</http:>

I am asking in the context of DeviceIoControl, while sending the information from driver to application.

Thanks,
Harsha

Doron Holan wrote:
In what context are you asking this question? After passing an on stack declared IO_STATUS_BLOCK to an IoBuildXxxx routine?

d

– I can spell, I just can’t type.
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Harsha Inamdar
Sent: Friday, May 19, 2006 11:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Irp->IoStatus.Status & IO_STATUS_BLOCK

Hi,

Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK IoStatus.Status? Also between Irp->IoStatus.Information & IO_STATUS_BLOCK IoStatus.Information?

Thank you.
Harsha
________________________________________
Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get Yahoo! Messenger with Voice — Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

---------------------------------
How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.

Harsha Inamdar wrote:

Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK
IoStatus.Status? Also between Irp->IoStatus.Information &
IO_STATUS_BLOCK IoStatus.Information?

The Irp IoStatus field is of type IO_STATUS_BLOCK, as a quick perusal of
ntddk.h would have shown. The difference between Irp->IoStatus.Status
and IO_STATUS_BLOCK IoStatus.Status is that the first one is part of an
IRP, and the second one lives on the stack and goes away when the
function exits.

I suspect this isn’t really the question you wanted to ask. Perhaps you
should try again with more detail.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Again, I am not sure what you are asking. Can you post the code in question? DeviceIoControl does not take an IO_STATUS_BLOCK. The contents of the IO_STATUS_BLOCK pointers passed to IoBuildXxx and Zw/NtXxx APIs are set from Irp->IoStatus upon completion of the irp.

The reason I ask about context is that for synchronous APIs, like IoBuildDeviceIoControlRequest() and IoBuildSynchronousFsdRequest you are tempted to look at the Irp->IoStatus block after completion and comparing it to the passed in IO_STATUS_BLOCK pointer, but the Irp is now gone. In a typical driver, you rarely have an IO_STATUS_BLOCK on the stack, you just deal with the IRP’s block.

d

– I can spell, I just can’t type.
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Harsha Inamdar
Sent: Friday, May 19, 2006 12:29 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Irp->IoStatus.Status & IO_STATUS_BLOCK

I am asking in the context of DeviceIoControl,?while sending the information?from driver to application.
?
Thanks,
Harsha?

Doron Holan wrote:
In what context are you asking this question? After passing an on stack declared IO_STATUS_BLOCK to an IoBuildXxxx routine?

d

– I can spell, I just can’t type.
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Harsha Inamdar
Sent: Friday, May 19, 2006 11:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Irp->IoStatus.Status & IO_STATUS_BLOCK

Hi,
?
Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK IoStatus.Status?? Also between Irp->IoStatus.Information & IO_STATUS_BLOCK IoStatus.Information?
?
Thank you.
Harsha

Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get Yahoo! Messenger with Voice — Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates. — Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

This is just a long shot on what your context … perhaps you are confused
between the IRP path for DeviceIoControl and the FastIo path. In the IRP
path Irp->Iostatus is an IO_STATUS_BLOCK so Irp->IoStatus.Status is the
status of the operation. In the FastIo path the PIO_STATUS_BLOCK IoStatus
parameter of FastIoDeviceControl IoStatusBlock is the ‘analog’ of
Irp->IoStatus from the IRP path and IoStatusBlock->Status is the status of
the operation.

“Harsha Inamdar” wrote in message news:xxxxx@ntdev…
Hi,

Is there any difference between Irp->IoStatus.Status & IO_STATUS_BLOCK
IoStatus.Status? Also between Irp->IoStatus.Information & IO_STATUS_BLOCK
IoStatus.Information?

Thank you.
Harsha

Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get Yahoo!
Messenger with Voice