2016-07-10 34 views
1

我注意到,如果你是processing an IRP_MN_QUERY_DEVICE_RELATIONS與PowerRelations類型和添加你應該再發IRP_MN_DEVICE_USAGE_NOTIFICATION一種權力關係的IRP設備接收到目標設備Windows對於特殊文件(例如分頁文件,休眠文件或崩潰轉儲文件)的設備路徑中的設備意味着什麼?

如果目標設備是一個設備路徑特殊文件(例如 如分頁文件,休眠文件,或崩潰轉儲文件)...

我還沒有看到之前的措辭並沒有多少運氣Google上搜尋它。關於IRP_MN_DEVICE_USAGE_NOTIFICATION的鏈接,它解釋了一些更多的細節,但沒有太多的細節知道它實際上是否將特殊文件附加到設備上。

系統組件發送此IRP詢問驅動程序設備 設備是否支持特殊文件。特殊文件包括 頁面文件,轉儲文件和休眠文件。如果設備的所有驅動程序 成功接通IRP,系統將創建特殊文件。

對於特殊文件的設備路徑以及通常是什麼類型的設備是什麼意思?

+1

它由* system components *發送。你不寫一個實現系統組件的驅動程序。否則就是電源管理微型優化,當電池耗盡時變成宏觀。 –

+0

@HansPassant:儘管問題中的代碼段沒有說清楚,但文檔描述了第三方驅動程序必須發送此消息的條件。 –

回答

1

聲明:我不熟悉有問題的控制代碼。

但是,文檔的含義似乎足夠清晰。

考慮頁面文件,例如,通常爲C:\pagefile.sys。但從內核的角度來看,這是

\Device\HarddiskVolume1\pagefile.sys 

這使得Device\HarddiskVolume1的設備是「設備路徑的特殊文件上」。閱讀文檔時,相關規則也適用於此設備所依賴的任何其他設備。

實際上,如果您是某種存儲設備或支持存儲設備的總線設備,則只需要擔心這一點。如果這適用於您,並且您支持特殊文件(例如,當您收到IRP_MN_DEVICE_USAGE_NOTIFICATIONInPath設置爲TRUE時返回成功)如果您對其他設備有不平凡的電源依賴關係,則必須轉發IRP如上所述。

如果您不需要支持特殊文件,則可能會導致通話失敗。例如,可能不需要在可移動媒體設備上支持特殊文件,因此USB控制器,集線器等可能不支持它們。但一個RAID控制器可能確實需要支持特殊文件,至少如果你想能夠在RAID磁盤上安裝Windows。

相關問題