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)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

ANSI_STRING