Export (0) Print
Expand All
Expand Minimize

FsRtlIsHpfsDbcsLegal routine

The FsRtlIsHpfsDbcsLegal routine determines whether the specified ANSI or double-byte character set (DBCS) string is a legal HPFS file name.

Syntax


BOOLEAN FsRtlIsHpfsDbcsLegal(
  _In_  ANSI_STRING DbcsName,
  _In_  BOOLEAN WildCardsPermissible,
  _In_  BOOLEAN PathNamePermissible,
  _In_  BOOLEAN LeadingBackslashPermissible
);

Parameters

DbcsName [in]

A pointer to the string to be tested.

WildCardsPermissible [in]

Set to TRUE if wildcard characters are to be considered legal, FALSE otherwise.

PathNamePermissible [in]

Set to TRUE if DbcsName can be a full pathname containing backslash characters, FALSE if it can only be a file name.

LeadingBackslashPermissible [in]

Set to TRUE if a single leading backslash is permissible in the file or pathname, FALSE otherwise.

Return value

The FsRtlIsHpfsDbcsLegal routine returns TRUE if the string is a legal HPFS file name, FALSE otherwise.

Remarks

The FsRtlIsHpfsDbcsLegal routine determines whether the specified file name conforms to the HPFS-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 HPFS name.

HPFS file names must obey the following rules:

  1. The following characters are illegal in HPFS file names: 0x0000 - 0x001F, " (quotation marks), / (slash), : (colon), < (less-than sign), > (greater-than sign), ? (question mark), | (vertical bar or pipe), * (asterisk)

  2. An HPFS file name cannot end in a period or a space. For example, the files "foo " and "foo." are illegal, while ".foo", " foo" and "foo.bar.foo" are legal.

  3. An HPFS file name can contain no more than 255 bytes.

  4. HPFS file names are case-preserving, but not case insensitive. Lowercase file names are not automatically converted to uppercase. However, case is ignored in file name comparisons.

For information about other string-handling routines, see Strings.

Requirements

Version

This routine is available on Microsoft Windows 2000 and later versions of Windows operating systems.

Header

Ntifs.h (include FltKernel.h or Ntifs.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

See also

ANSI_STRING

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft