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 个字节的字符串。 此外,和E
都N
不能包含.
(句点) 或以空格字符结尾。 例如,文件.foo
、foo.
和foo .b
是非法的,而foo. b
和bar
是合法的。 - FAT 文件名不区分大小写。 小写名称将自动转换为大写。
有关其他字符串处理例程的信息,请参阅 运行时库 (RTL) 例程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 |
目标平台 | 通用 |
标头 | ntifs.h (包括 FltKernel.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |