Skip to content

Latest commit

 

History

History
214 lines (167 loc) · 4.19 KB

nf-ntifs-_fsrtl_advanced_fcb_header-fsrtldissectdbcs.md

File metadata and controls

214 lines (167 loc) · 4.19 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames ms.custom f1_keywords topic_type api_type api_location api_name dev_langs
NF:ntifs.FsRtlDissectDbcs
FsRtlDissectDbcs function (ntifs.h)
Given an ANSI or double-byte character set (DBCS) pathname string, the FsRtlDissectDbcs routine returns two strings:\_one containing the first file name found in the string, the other containing the remaining unparsed portion of the pathname string.
ifsk\fsrtldissectdbcs.htm
ifsk
04/16/2018
FsRtlDissectDbcs function
FsRtlDissectDbcs, FsRtlDissectDbcs routine [Installable File System Drivers], fsrtlref_95d6ca19-1a11-4fc9-85a5-ea3cf307d2d0.xml, ifsk.fsrtldissectdbcs, ntifs/FsRtlDissectDbcs
ntifs.h
FltKernel.h, Ntifs.h
Universal
Windows 2000
NtosKrnl.lib
NtosKrnl.exe
<= APC_LEVEL
Windows
RS5
FsRtlDissectDbcs
ntifs/FsRtlDissectDbcs
APIRef
kbSyntax
DllExport
NtosKrnl.exe
FsRtlDissectDbcs
c++

FsRtlDissectDbcs function

-description

Given an ANSI or double-byte character set (DBCS) pathname string, the FsRtlDissectDbcs routine returns two strings: one containing the first file name found in the string, the other containing the remaining unparsed portion of the pathname string.

-parameters

-param Path [in]

The pathname string to be parsed.

-param FirstName [out]

A pointer to the first file name in the pathname string.

-param RemainingName [out]

A pointer to the remaining unparsed portion of the pathname string.

-remarks

In the input string, backslashes are read as name separators. The first name in the string is assumed to consist of all characters from the beginning of the string to the character preceding the first backslash, inclusive. There is just one exception to this rule: if the first character in the input string is a backslash, this character is ignored and does not appear in the output string. The remaining portion of the string consists of all characters following the backslash that follows the first name found in the string.

FsRtlDissectDbcs does not check for the presence of illegal characters in the input string.

The following table shows sample input and output values for FsRtlDissectDbcs:

Path FirstName RemainingName
empty empty empty
A A empty
A\B\C\D\E A B\C\D\E
*A? *A? empty
\A A empty
A[,] A[,] empty
A\\B+;\C A \B+;\C
 

Note that upon returning, the Buffer members of the output parameters will point into the Buffer member of Path. Therefore, the caller should not allocate storage for the Buffer members of the two output parameters, as shown in the following example:

.
.
.
/*
The FsRtlDissectDbcs routine will set the members
of the following two structures appropriately:
*/
UNICODE_STRING CurrentComponent;
UNICODE_STRING RemainingComponent;

/*
Do not allocate storage for the Buffer members of CurrentComponent
and RemainingComponent in that they will point into the previously
allocated storage of FullPathName's Buffer member:
*/
FsRtlDissectDbcs (FullPathName, &CurrentComponent, &RemainingComponent);
.
.
.

For information about other string-handling routines, see Run-Time Library (RTL) Routines.

-see-also

ANSI_STRING