共用方式為


IoReportRootDevice 函式 (ntddk.h)

IoReportRootDevice 例程會向 PnP 管理員報告 PnP 總線驅動程式無法偵測到的裝置。 IoReportRootDevice 只允許為每個驅動程式建立一個裝置。

語法

NTSTATUS IoReportRootDevice(
  [in] PDRIVER_OBJECT DriverObject
);

參數

[in] DriverObject

偵測到裝置之驅動程式的驅動程式物件的指標。

傳回值

IoReportRootDevice 會在成功時傳回STATUS_SUCCESS,或失敗時的適當錯誤碼。

言論

PnP 總線驅動程式無法偵測到的裝置驅動程式會使用 IoReportRootDevice 將其裝置回報給系統。 PnP 總線驅動程式可以偵測到的裝置應回報以回應 IRP_MN_QUERY_DEVICE_RELATIONS 要求。

驅動程式通常會從其 DriverEntry 例程呼叫此例程。

IoReportRootDevice 將裝置標示為根列舉裝置,而且此識別在系統開機時會持續存在。 PnP 管理員會「偵測」根列舉清單中的裝置,並將其設定為 PnP 裝置:PnP 管理員會查詢裝置資訊、識別適當的驅動程式,並呼叫其 AddDevice 例程,並傳送所有適當的 PnP IRP。

系統會為裝置產生單一硬體標識符字串,格式為 ROOT\Driver,其中 Driver 是驅動程式的服務名稱。 驅動程式可以藉由處理 IRP_MN_QUERY_ID 要求來提供額外的硬體識別碼或相容的標識碼。

驅動程式寫入器必須提供符合任何指定硬體標識碼或相容標識碼的 INF 檔案。 INF 檔案應該指定稱為 IoReportRootDevice 的原始驅動程式, 做為要載入這些標識碼的驅動程式。 系統會使用這項資訊來重建裝置的驅動程式堆疊,例如重新啟動時。 IoReportRootDevice 的呼叫端必須在系統線程的內容中於 IRQL = PASSIVE_LEVEL執行。

驅動程式應該使用 IoReportDetectedDevice 來報告使用資源但無法由 PnP 總線驅動程式偵測到的硬體裝置,而不是 IoReportRootDevice

要求

要求 價值
最低支援的用戶端 適用於 Windows 8 和更新版本的 Windows。
目標平臺 普遍
標頭 ntddk.h (包括 Ntddk.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (請參閱一節)

另請參閱

AddDevice

DriverEntry

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_QUERY_ID

IRP_MN_START_DEVICE

IoReportDetectedDevice

IoReportResourceForDetection