共用方式為


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。緩衝NULLStream。長度為零。 否則,Stream。Buffer 會接收 FileName.Buffer 中數據流名稱開頭的指標,並 Stream。Length 會接收數據流名稱的長度,以位元組為單位。 這個參數是選擇性的,而且可以是 NULL

[in, out] FinalComponent

UNICODE_STRING結構的指標,該結構會接收從 FileName 字串剖析的最終名稱元件。 如果找不到最終元件, 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”

StreamNULL

FinalComponent:“TestRe~1.txt”

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

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

規格需求

需求
最低支援的用戶端 Windows XP 中提供 Service Pack 2 (SP2) 和更新版本的 Windows 操作系統。
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING