共用方式為


IRP_MN_QUERY_RESOURCE_REQUIREMENTS

PnP 管理員會使用此 IRP 來取得裝置的資源需求清單。

匯流排驅動程式必須針對需要硬體資源的子裝置處理此要求。 匯流排篩選驅動程式可以處理此要求。 函式和篩選驅動程式不會處理此 IRP。

0x0B

主要程式碼

IRP_MJ_PNP

傳送時

當列舉裝置時,PnP 管理員會在將資源配置至裝置之前,以及驅動程式回報其裝置的資源需求已變更時,傳送此 IRP。

PnP 管理員會在任意執行緒內容中,在 IRQL PASSIVE_LEVEL傳送此 IRP。

輸入參數

輸出參數

在 I/O 狀態欄塊中傳回。

I/O 狀態欄塊

處理此 IRP 的驅動程式會將 Irp-IoStatus.Status > 設定為STATUS_SUCCESS或適當的錯誤狀態。

成功時,驅動程式會將 Irp-IoStatus.Information > 設定為包含所要求資訊的 IO_RESOURCE_REQUIREMENTS_LIST 指標。 發生錯誤時,驅動程式會將 Irp-IoStatus.Information > 設定為零。

作業

如果匯流排驅動程式傳回資源需求清單以回應此 IRP,它會從分頁記憶體配置 IO_RESOURCE_REQUIREMENTS_LIST 。 當不再需要緩衝區時,PnP 管理員會釋放緩衝區。

如果裝置不需要硬體資源,裝置的匯流排驅動程式會完成 IRP (IoCompleteRequest) ,而不需修改Irp-IoStatus.Status 或 Irp-IoStatus.Information >>

如果匯流排篩選驅動程式處理此 IRP,它會修改匯流排驅動程式所建立的資源需求清單。 匯流排篩選驅動程式會修改 IRP 上備份裝置堆疊的清單。 匯流排篩選驅動程式必須保留資源需求清單中的資源順序,而且不得改變其未處理的資源標籤。 如果匯流排篩選驅動程式變更資源需求清單的大小,驅動程式必須從分頁記憶體配置新的結構,並釋放先前的結構。 如果匯流排篩選驅動程式將新的資源需求新增至清單,並將資源指派給裝置,則驅動程式必須將新的資源篩選掉 IRP_MN_START_DEVICE IRP,使其不會傳遞至匯流排驅動程式。

函式和非匯流排篩選驅動程式不會處理此 IRP;它們會將它傳遞至下一個較低驅動程式,但不會變更 Irp-IoStatus >

如需處理隨插即用次要 IRP的一般規則,請參閱隨插即用

傳送此 IRP

保留供系統使用。 驅動程式不得傳送此 IRP。

規格需求

標頭

Wdm.h (包括 Wdm.h、Ntddk.h 或 Ntifs.h)

另請參閱

IO_RESOURCE_REQUIREMENTS_LIST