導航:首頁 > 凈水問答 > linuxusb過濾驅動

linuxusb過濾驅動

發布時間:2021-01-26 04:37:14

『壹』 請教用文件過濾驅動的方式透明加密linux中的文件

文件系統過濾驅動是一種可選的,為文件系統提供具有附加值功能的驅動專程序。文件系統過濾驅動是一屬種核心模式組件,它作為Windows NT執行體的一部分運行。 文件系統過濾驅動可以過濾一個或多個文件系統或文件系統卷的I/O操作。按不同的種類劃分,...

『貳』 linux怎樣載入文件過濾驅動

文件系統過濾驅動是一種可選的,為文件系統提供具有附加值功能的驅動程序。文件系統過濾驅動是一種核心模式組件,它作為Windows NT執行體的一部分運行。
文件系統過濾驅動可以過濾一個或多個文件系統或文件系統卷的I/O操作。按不同的種類劃分,文件系統過濾驅動可以分成日誌記錄、系統監測、數據修改或事件預防幾類。通常,以文件系統過濾驅動為核心的應用程序有防毒軟體、加密程序、分級存儲管理系統等。
二、文件系統過濾驅動並不是設備驅動
設備驅動是用來控制特定硬體I/O設備的軟體組件。例如:DVD存儲設備驅動是一個DVD驅動。
相反,文件系統過濾驅動與一個或多個文件系統協同工作來處理文件I/O操作。這些操作包括:創建、打開、關閉、枚舉文件和目錄;獲取和設置文件、目錄、卷的相關信息;向文件中讀取或寫入數據。另外,文件系統過濾驅動必須支持文件系統特定的功能,例如緩存、鎖定、稀疏文件、磁碟配額、壓縮、安全、可恢復性、還原點和卷裝載等。
下面兩部分詳細的闡述了文件系統過濾驅動和設備驅動之間的相似點與不同點。

三、安裝文件系統過濾驅動
對於Windows XP和後續操作系統來說,可以通過INI文件或安裝應用程序來安裝文件系統過濾驅動(對於Windows 2000和更早的操作系統,過濾驅動通常通過服務控制管理器Service Control Manager來進行安裝)。
四、初始化文件系統過濾驅動
與設備驅動類似,文件系統過濾驅動也使用DriverEntry常式進行初始化工作。在驅動程序載入後,載入驅動相同的組件將通過調用驅動程序的 DriverEntry常式來對驅動程序進行初始化工作。對於文件系統過濾驅動來說,載入和初始化過濾驅動的系統組件為I/O管理器。
DriverEntry常式運行於系統線程上下文中,其IRQL = PASSIVE_LEVEL。本常式可分頁,詳細信息參見MmLockPagableCodeSection。
DriverEntry常式定義如下:
NTSTATUS
DriverEntry (
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
本常式有兩個輸入參數。第一個參數,DriverObject為系統在文件系統過濾驅動載入時所創建的驅動對象;第二個參數,RegistryPath為包含驅動程序注冊鍵路徑的Unicode字元串。
文件系統過濾驅動按如下順序執行DriverEntry常式:

01、創建控制設備對象:

文件系統過濾驅動的DriverEntry常式通常以創建控制設備對象作為該常式的起始。創建控制設備對象的目的在於允許應用程序即使在過濾驅動載入到文件系統或卷設備對象之前也能夠直接與過濾驅動進行通信。
注意:文件系統也會創建控制設備對象。當文件系統過濾驅動將其自身附加到文件系統之上時(而不是附加到某一特定文件系統卷),過濾驅動同樣將其自身附加到文件系統的控制設備對象之上。

在FileSpy驅動範例中,控制設備對象按如下方式創建:

RtlInitUnicodeString(&nameString, FILESPY_FULLDEVICE_NAME);
status = IoCreateDevice(
DriverObject, //DriverObject
0, //DeviceExtensionSize
&nameString, //DeviceName
FILE_DEVICE_DISK_FILE_SYSTEM, //DeviceType
FILE_DEVICE_SECURE_OPEN, //DeviceCharacteristics
FALSE, //Exclusive
&gControlDeviceObject); //DeviceObject

RtlInitUnicodeString(&linkString, FILESPY_DOSDEVICE_NAME);
status = IoCreateSymbolicLink(&linkString, &nameString);

與文件系統不同,文件系統過濾驅動並不是一定要為其控制設備對象命名。如果傳遞給DeviceName參數一個非空(Non-NULL)值,該值將作為控制設備對象的名稱。接下來,在前面的代碼範例中DriverEntry可以調用IoCreateSymbolicLink常式來將該對象的核心模式名稱與應用程序可見的用戶模式名稱關聯到一起(同樣可以通過調用IoRegisterDeviceInterface來使設備對象對應用程序可見)。
注意:由於控制設備對象是唯一不會附加到設備堆棧中的設備對象,因此控制設備對象是唯一的可安全命名的設備對象。由此,是否為文件系統過濾驅動的控制設備對象是否命名是可選的。
注意:文件系統的控制設備對象必須命名。過濾設備對象從不命名。

閱讀全文

與linuxusb過濾驅動相關的資料

熱點內容
大眾朗逸用什麼型號的機油濾芯 瀏覽:489
小區凈水器廠家電話多少 瀏覽:564
進口過濾片擠出機 瀏覽:856
村裡污水管道主要什麼污水 瀏覽:58
濰柴空調濾芯多少錢 瀏覽:463
小飲水機怎麼拆開 瀏覽:262
家用飲水機沒水怎麼辦 瀏覽:415
污水站管道的防腐處理有什麼要求 瀏覽:908
底過濾能養原生魚嗎 瀏覽:533
pb數據窗口過濾重復數據 瀏覽:86
發電廠水處理公司 瀏覽:505
樹脂危廢 瀏覽:293
海爾凈水器hu6035a怎麼更換濾芯 瀏覽:877
鄱陽縣污水處理廠在哪 瀏覽:920
ac凈水器什麼意思 瀏覽:183
陰離子交換樹脂MP800價格 瀏覽:53
污水提升泵如何裝修走管路 瀏覽:320
山東省農村生活污水處理方案 瀏覽:499
什麼是污水處理棉怎麼用 瀏覽:197
離心超濾管工作原理 瀏覽:204