共用方式為


FSRTL_PER_FILE_CONTEXT結構 (ntifs.h)

舊版文件系統篩選驅動程式可以使用 FSRTL_PER_FILE_CONTEXT 結構,將驅動程式特定內容資訊與開啟的檔案產生關聯。

語法

typedef struct _FSRTL_PER_FILE_CONTEXT {
  LIST_ENTRY     Links;
  PVOID          OwnerId;
  PVOID          InstanceId;
  PFREE_FUNCTION FreeCallback;
} FSRTL_PER_FILE_CONTEXT, *PFSRTL_PER_FILE_CONTEXT;

成員

Links

此結構的連結位於與相同檔案相關聯的所有個別檔案內容結構清單中。 FsRtlInsertPerFileContext 將此成員插入檔案的所有每個檔案內容結構清單中。

OwnerId

篩選驅動程式配置的緩衝區指標,可唯一識別每個檔案內容結構的擁有者。 此變數的格式為 filter-driver-specific。 篩選驅動程式必須將這個成員設定為非NULL 值。

InstanceId

filter-driver-allocated 緩衝區的指標,可用來區分相同篩選驅動程式所建立的每個檔案內容結構。 此變數的格式為 filter-driver-specific。 篩選驅動程式可以將這個成員設定為 NULL

FreeCallback

釋放每個檔案內容結構的 回呼例程指標。 篩選驅動程式必須將這個成員設定為非NULL 值。

言論

為了將內容資訊與檔案產生關聯,舊版篩選驅動程式會先配置 FSRTL_PER_FILE_CONTEXT 結構,並使用 FsRtlInsertPerFileContext初始化它。 驅動程式接著會使用 FsRtlInsertPerFileContext,將該 FSRTL_PER_FILE_CONTEXT 對象與檔案產生關聯。 當系統卸除檔案的檔案內容物件時,它會呼叫 FsRtlTeardownPerFileContexts,其會呼叫 FSRTL_PER_FILE_CONTEXT 物件中指定的 FreeCallback 例程。 該回呼必須釋放驅動程式特定的內容物件。

篩選寫入器應該選擇 OwnerID 值,這個值既有意義又方便,例如驅動程式物件或裝置物件的位址。

篩選寫入器應該選擇 InstanceID 值,這個值既有意義又方便,例如檔案的檔案內容對象的位址。 使用 FsRtlGetPerFileContextPointer 巨集,從檔案物件擷取該位址。

FSRTL_PER_FILE_CONTEXT 結構可用於 as-is,或內嵌在驅動程式定義的個別檔案內容結構中。

FSRTL_PER_FILE_CONTEXT 結構可以從分頁或非分頁集區配置。

FsRtlInitPerFileContext 巨集會初始化 FSRTL_PER_FILE_CONTEXT 結構。

參數

FileContext

FSRTL_PER_FILE_CONTEXT

要初始化FSRTL_PER_FILE_CONTEXT物件。

OwnerId

PVOID

篩選驅動程式配置的變數指標,可唯一識別每個檔案內容結構的擁有者。 格式是篩選驅動程式特定的。 此參數必須具有非NULL 值。

InstanceId

PVOID

篩選驅動程式配置的變數指標,可唯一識別每個檔案內容結構的擁有者。 格式是篩選驅動程式特定的。 此參數必須具有非NULL 值。

FreeCallback

PFREE_FUNCTION

釋放每個檔案內容結構的 回呼例程指標

傳回值

VOID

沒有。

呼叫 FsRtlInsertPerFileContext 之前,必須先使用此巨集。

篩選寫入器應該選擇 OwnerID 值,這個值既有意義又方便,例如驅動程式物件或裝置物件的位址。

篩選寫入器應該使用 InstanceID 值,這個值既有意義又方便,例如檔案的檔案內容對象的位址。 使用 FsRtlGetPerFileContextPointer 巨集,從檔案物件擷取該位址。

如需如何使用和建立內容對象的詳細資訊,請參閱舊版文件系統篩選驅動程式中的 追蹤 Per-File 內容。

要求

要求 價值
最低支援的用戶端 從 Windows Vista 開始提供。
標頭 ntifs.h (include Fltkernel.h, Ntifs.h)

另請參閱

FsRtlGetPerFileContextPointer

FsRtlInitPerFileContext

FsRtlInsertPerFileContext

FsRtlTeardownPerFileContexts

PFREE_FUNCTION

在舊版文件系統篩選驅動程式 中 追蹤 Per-File 內容