fltTagFile 函式 (fltkernel.h)
FltTagFile 會在檔案或目錄上設定重新分析標記。
語法
NTSTATUS FLTAPI FltTagFile(
[in] PFLT_INSTANCE InitiatingInstance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FileTag,
[in, optional] GUID *Guid,
[in] PVOID DataBuffer,
[in] USHORT DataBufferLength
);
參數
[in] InitiatingInstance
起始此 I/O 要求的迷你篩選驅動程序實例不透明實例指標。 這個參數是必要的,而且不能是 NULL。
[in] FileObject
要設定重新分析點之檔案或目錄的檔案對象指標。 必須開啟檔案物件,才能存取FILE_WRITE_DATA。 這個參數是必要的,而且不能是 NULL。
[in] FileTag
重新分析點標籤。 如果正在修改現有的重新分析標籤,此參數中指定的標記必須符合要修改之重新分析點的標記。
[in, optional] Guid
可唯一識別重新分析點類型的 GUID。 如果 FileTag 不是 Microsoft 標籤,則需要此參數,而且不能是 NULL。 如果要修改現有的重新分析標記,此參數中指定的 GUID 必須符合要修改之重新分析點的 GUID。
[in] DataBuffer
緩衝區的指標,其中包含重新分析點的使用者定義數據。
[in] DataBufferLength
DataBuffer 所指向緩衝區的大小,以位元組為單位。
傳回值
FltTagFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | Description |
---|---|
|
FltTagFileEx 發生集區配置失敗。 這是錯誤碼。 |
|
檔案系統不支援重新分析點。 這是錯誤碼。 |
|
FileTag 不是 Microsoft 標籤,而且已為 Guid 指定 NULL。 這是錯誤碼。 |
|
呼叫端所指定的重新分析標記不符合要修改之重新分析點的標記。 這是錯誤碼。 |
|
呼叫端所指定的重新剖析 GUID 不符合要修改之重新分析點的 GUID。 這是錯誤碼。 |
備註
迷你篩選驅動程序應該使用 FltTagFile 而不是 FSCTL_SET_REPARSE_POINT 來設定重新分析點。
並非所有文件系統都支援重新分析點。 NTFS 檔案系統支持它們;FAT 檔案系統沒有。 迷你篩選驅動程式可以呼叫 FltQueryVolumeInformation、指定 FsInformation 參數的 FileFsAttributeInformation,以及檢查傳回 FILE_FS_ATTRIBUTE_INFORMATION 結構中的FILE_SUPPORTS_REPARSE_POINTS位旗標,判斷文件系統是否支援重新分析點。
若要移除現有的重新分析點,請呼叫 FltUntagFile。
如需重新分析點的詳細資訊,請參閱 Microsoft Windows SDK 檔。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |