FsRtlIsFatDbcsLegal 函式 (ntifs.h)

FsRtlIsFatDbcsLegal 例程會決定指定的 ANSI 或雙位元組字元集 (DBCS) 字串是否為合法的 FAT 檔名。

語法

BOOLEAN FsRtlIsFatDbcsLegal(
  [in] ANSI_STRING DbcsName,
  [in] BOOLEAN     WildCardsPermissible,
  [in] BOOLEAN     PathNamePermissible,
  [in] BOOLEAN     LeadingBackslashPermissible
);

參數

[in] DbcsName

要測試之字串的指標。

[in] WildCardsPermissible

如果要將通配符視為合法,則設定為 TRUE ,否則為 FALSE

[in] PathNamePermissible

如果 DbcsName 可以是包含反斜杠字元的完整路徑名稱,則設定為 TRUE ;如果 DbcsName 只能是檔名,則為 FALSE

[in] LeadingBackslashPermissible

如果檔案或路徑名稱中允許單一前置反斜杠,則設定為 TRUE ,否則為 FALSE

傳回值

如果字串是合法的 FAT 檔名, FsRtlIsFatDbcsLegal 例程會傳回 TRUE ,否則為 FALSE

備註

FsRtlIsFatDbcsLegal 例程會判斷指定的檔名是否符合法務檔名的 FAT 特定規則。 這個例程會檢查檔名,或者,如果 PathNamePer允許 指定為 TRUE,則整個路徑名稱是否為合法的 FAT 名稱。

FAT 檔案名必須遵守下列規則:

  • 在 FAT 檔名中,下列字元不合法:0x00-0x1F、 (" 直引號) 、 / (斜線) 、 (冒號) 、 (垂直線或管道 +) 、 :| (加 ,) 、 (逗號) 、 (分號) 、 = (等號 ;) , [ ] (括弧)
  • FAT 檔名的格式為 N.E 或只是 N,其中 N 是一到八個字節的字元串,而 E 是一到三個字節的字串,符合規則一。 此外,也E不得N包含 . (句號) 或以空格符結尾。 例如, .foo檔案、 foo.foo .b 是不合法的,而 foo. b bar 是合法的。
  • FAT 檔名不區分大小寫。 小寫名稱會自動轉換成大寫。

如需其他字串處理例程的資訊,請參閱 Run-Time Library (RTL) 例程

規格需求

需求
最低支援的用戶端 Windows 2000
目標平台 Universal
標頭 ntifs.h (包括 FltKernel.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

ANSI_STRING