Freigeben über


FsRtlDissectDbcs-Funktion (ntifs.h)

Angesichts einer ANSI- oder Double-Byte-Zeichensatzzeichenfolge (DOUBLE-Byte Character Set, DBCS) gibt die FsRtlDissectDbcs Routine zwei Zeichenfolgen zurück: eine, die den ersten Dateinamen in der Zeichenfolge enthält, die andere, die den verbleibenden nicht analysierten Teil der Pfadnamenzeichenfolge enthält.

Syntax

void FsRtlDissectDbcs(
  [in]  ANSI_STRING  Path,
  [out] PANSI_STRING FirstName,
  [out] PANSI_STRING RemainingName
);

Parameter

[in] Path

Die zu analysierende Pfadnamezeichenfolge.

[out] FirstName

Ein Zeiger auf den ersten Dateinamen in der Pfadnamenzeichenfolge.

[out] RemainingName

Ein Zeiger auf den verbleibenden nicht analysierten Teil der Pfadnamenzeichenfolge.

Rückgabewert

Nichts

Bemerkungen

In der Eingabezeichenfolge werden umgekehrte Schrägstriche als Namenstrennzeichen gelesen. Der Vorname in der Zeichenfolge wird davon ausgegangen, dass er aus allen Zeichen vom Anfang der Zeichenfolge bis zum Zeichen besteht, das dem ersten umgekehrten Schrägstrich vorausgeht( einschließlich). Es gibt nur eine Ausnahme für diese Regel: Wenn das erste Zeichen in der Eingabezeichenfolge ein umgekehrter Schrägstrich ist, wird dieses Zeichen ignoriert und nicht in der Ausgabezeichenfolge angezeigt. Der verbleibende Teil der Zeichenfolge besteht aus allen Zeichen nach dem umgekehrten Schrägstrich, der dem in der Zeichenfolge gefundenen Vornamen folgt.

FsRtlDissectDbcs überprüft nicht, ob in der Eingabezeichenfolge unzulässige Zeichen vorhanden sind.

Die folgende Tabelle enthält Beispieleingabe- und Ausgabewerte für FsRtlDissectDbcs:

Pfad Vorname RemainingName
leer leer leer
Ein Ein leer
A\B\C\D\E Ein B\C\D\E
*Ein? *Ein? leer
\Ein Ein leer
A[,] A[,] leer
A\\B+;\C Ein \B+;\C
 

Beachten Sie, dass die Buffer- Member der Ausgabeparameter auf das Buffer Member Pathverweisen. Daher sollte der Aufrufer keinen Speicher für die Buffer- Member der beiden Ausgabeparameter zuweisen, wie im folgenden Beispiel gezeigt:

.
.
.
/*
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);
.
.
.

Informationen zu anderen Zeichenfolgenbehandlungsroutinen finden Sie unter Run-Time Library (RTL)-Routinen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (include FltKernel.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

ANSI_STRING