FsRtlIsHpfsDbcsLegal 函数 (ntifs.h)
FsRtlIsHpfsDbcsLegal 例程确定指定的 ANSI 或双字节字符集 (DBCS) 字符串是合法的 HPFS 文件名。
语法
BOOLEAN FsRtlIsHpfsDbcsLegal(
[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。
返回值
如果字符串是合法的 HPFS 文件名, 则 FsRtlIsHpfsDbcsLegal 例程返回 TRUE;否则返回 FALSE。
注解
FsRtlIsHpfsDbcsLegal 例程确定指定的文件名是否符合特定于 HPFS 的合法文件名规则。 此例程将检查文件名,或者,如果 PathNamePer 允许指定为 TRUE,则整个路径名称是否为合法的 HPFS 名称。
HPFS 文件名必须遵循以下规则:
以下字符在 HPFS 文件名中是非法的:0x0000 - 0x001F、“ (引号) 、/ (斜杠) 、: (冒号) 、 < (小于符号) 、 > (大于符号) 、? (问号) , | (竖线或竖线) ,* (星号)
HPFS 文件名不能以句点或空格结尾。 例如,文件“foo”和“foo.”是非法的,而“.foo”、“foo”和“foo.bar.foo”是合法的。
HPFS 文件名包含的字节不能超过 255 个字节。
HPFS 文件名保留大小写,但不区分大小写。 小写文件名不会自动转换为大写。 但是,在文件名比较中忽略大小写。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 |
目标平台 | 通用 |
标头 | ntifs.h (包括 FltKernel.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |