共用方式為


FltParseFileName 函式 (fltkernel.h)

FltParseFileName 剖析檔名字符串中的擴展名、數據流和最終元件。

語法

NTSTATUS FLTAPI FltParseFileName(
  [in]      PCUNICODE_STRING FileName,
  [in, out] PUNICODE_STRING  Extension,
  [in, out] PUNICODE_STRING  Stream,
  [in, out] PUNICODE_STRING  FinalComponent
);

參數

[in] FileName

UNICODE_STRING 結構的指標,其中包含要剖析為檔名的字串。 這是必要參數,而且無法 NULL

[in, out] Extension

UNICODE_STRING 結構的指標,這個結構會接收從 fileName 字串 剖析的擴展名。 如果找不到擴充功能,FltParseFileName 會將 extension.Buffer 設定為 NULL,並將 Extension.Length 設為零。 否則,Extension.Buffer 會接收 fileName.Buffer 中擴展名開頭的指標,Extension.Length 會接收擴展名的長度,以位元組為單位。 這個參數是選擇性的,而且可以 NULL

[in, out] Stream

UNICODE_STRING 結構的指標,該結構會接收從 fileName 字串 剖析的數據流名稱。 如果找不到數據流名稱,FltParseFileName會將 Stream.Buffer 設定為 NULLStream.Length 設為零。 否則,Stream.Buffer 會接收 FileName.Buffer中數據流名稱開頭的指標,Stream.Length 接收數據流名稱的長度,以位元組為單位。 這個參數是選擇性的,而且可以 NULL

[in, out] FinalComponent

fileName 字串剖析的最終名稱元件UNICODE_STRING結構的指標。 如果找不到最終元件,FltParseFileName會將 finalComponent.Buffer 設定為 NULL,並將 FinalComponent.Length 設為零。 否則,FinalComponent.Buffer 會接收 FileName.Buffer中最後元件開頭的指標,FinalComponent.Length 會接收最終元件的長度,以位元組為單位。 這個參數是選擇性的,而且可以 NULL

傳回值

FltParseFileName 會傳回STATUS_SUCCESS或適當的 NTSTATUS 錯誤碼。

言論

FltParseFileName 從檔名字符串剖析擴展名、數據流名稱和最終元件。 檔名不需要正規化或完整路徑名稱。 如果檔名是簡短的檔名,FltParseFileName 只剖析擴展名。

以下是本機檔案標準化名稱的範例:

\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1

FltParseFileName 剖析此正規化名稱,如下所示:

擴充功能: “txt”

Stream:“:stream1”

FinalComponent:“Test Results.txt:stream1”

以下是檔案簡短名稱的範例:

TestRe~1.txt

FltParseFileName 剖析此簡短名稱,如下所示:

擴充功能: “txt”

數據流NULL

FinalComponent:“TestRe~1.txt”

如需檔案名正規化和檔名剖析的詳細資訊,請參閱 FLT_FILE_NAME_INFORMATION

若要剖析FLT_FILE_NAME_INFORMATION結構的內容,請呼叫 FltParseFileNameInformation

要求

要求 價值
最低支援的用戶端 Windows XP 中提供 Service Pack 2 (SP2) 和更新版本的 Windows作系統。
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
連結庫 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING