FsRtlIsFatDbcsLegal function (ntifs.h)
The FsRtlIsFatDbcsLegal routine determines whether the specified ANSI or double-byte character set (DBCS) string is a legal FAT file name.
Syntax
BOOLEAN FsRtlIsFatDbcsLegal(
[in] ANSI_STRING DbcsName,
[in] BOOLEAN WildCardsPermissible,
[in] BOOLEAN PathNamePermissible,
[in] BOOLEAN LeadingBackslashPermissible
);
Parameters
[in] DbcsName
A pointer to the string to be tested.
[in] WildCardsPermissible
Set to TRUE if wildcard characters are to be considered legal, FALSE otherwise.
[in] PathNamePermissible
Set to TRUE if DbcsName can be a full pathname containing backslash characters, FALSE if it can only be file name.
[in] LeadingBackslashPermissible
Set to TRUE if a single leading backslash is permissible in the file or pathname, FALSE otherwise.
Return value
The FsRtlIsFatDbcsLegal routine returns TRUE if the string is a legal FAT file name, FALSE otherwise.
Remarks
The FsRtlIsFatDbcsLegal routine determines whether the specified file name conforms to the FAT-specific rules for legal file names. This routine will check the file name or, if PathNamePermissible is specified as TRUE, whether the whole pathname is a legal FAT name.
FAT file names must obey the following rules:
- The following characters are illegal in FAT file names:
0x00-0x1F
,"
(straight quotation marks),/
(slash),:
(colon),|
(vertical bar or pipe),+
(plus),,
(comma),;
(semicolon),=
(equal sign),[ ]
(brackets) - A FAT file name is either of the form
N.E
or justN
, whereN
is a string of one to eight bytes andE
is a string of one to three bytes conformant to rule one. In addition, neitherN
norE
may contain a.
(period) or end with a space character. For example, the files.foo
,foo.
, andfoo .b
are illegal, whilefoo. b
andbar
are legal. - FAT file names are case insensitive. Lowercase names are automatically converted to uppercase.
For information about other string-handling routines, see Run-Time Library (RTL) Routines.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 |
Target Platform | Universal |
Header | ntifs.h (include FltKernel.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |