[bus] Initial test for mini IRP handling
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Wed, 16 Dec 2009 01:51:45 +0000 (20:51 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Wed, 16 Dec 2009 01:51:45 +0000 (20:51 -0500)
commita4273d6327afefd4e5d0fce27d87be1fb5f7d78a
tree11ce4e8962ebcb563f347e385edcb16ebf4081aa
parent18a8cef7c3294ff6b403bae607ac2385e536a4ac
[bus] Initial test for mini IRP handling

Implemented handling_table[] in the bus module.  The bus module has
also been updated to copy this table into a new bus device.

The picture of a bus device's mini IRP handling stack now goes:
IRP_MJ_PNP && IRP_MN_QUERY_DEVICE_RELATIONS ? bus foo()
IRP_MJ_PNP && IRP_MN_START_DEVICE ? bus pnp_start_dev()
IRP_MJ_CREATE ? driver create_close()
IRP_MJ_CLOSE ? driver create_close()
driver old_strategy()
driver all_irps()

Where lower handlings are only pursued if
the completion boolean is not set.

A simple foo() which catches IRP_MJ_PNP with
IRP_MN_QUERY_DEVICE_RELATIONS just for testing.
foo() should be removed soon.

IRP_MJ_PNP, IRP_MN_START_DEVICE moved to pnp_start_dev()
src/bus.c