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;如果只能是文件名,则设置为 FALSE

[in] LeadingBackslashPermissible

如果文件或路径名中允许使用单个前导反斜杠,则设置为 TRUE ,否则设置为 FALSE

返回值

如果字符串是合法的 FAT 文件名, 则 FsRtlIsFatDbcsLegal 例程返回 TRUE ,否则返回 FALSE

注解

FsRtlIsFatDbcsLegal 例程确定指定的文件名是否符合合法文件名的 FAT 特定规则。 此例程将检查文件名,或者,如果 PathNamePermissible 指定为 TRUE,则整个路径名是否为法定 FAT 名称。

FAT 文件名必须遵循以下规则:

  • 以下字符在 FAT 文件名中是非法的: 0x00-0x1F" (直引号) 、 / (斜杠) 、 : (冒号) 、 | (竖线或竖线) 、 + (加) 、 , (逗号) 、 ; (分号) 、 = (等号) 、 [ ] (方括号)
  • FAT 文件名的形式 N.E 或只是 N,其中 N 是一到八个字节的字符串, E 是符合规则 1 到 3 个字节的字符串。 此外,和 EN不能包含 . (句点) 或以空格字符结尾。 例如,文件 .foofoo.foo .b 是非法的,而 foo. b bar 是合法的。
  • FAT 文件名不区分大小写。 小写名称将自动转换为大写。

有关其他字符串处理例程的信息,请参阅 运行时库 (RTL) 例程

要求

要求
最低受支持的客户端 Windows 2000
目标平台 通用
标头 ntifs.h (包括 FltKernel.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

ANSI_STRING