Funzione FsRtlDissectDbcs (ntifs.h)
Dato una stringa nome percorso ANSI o DBCS (Double Byte Character Set), la routine FsRtlDissectDbcs restituisce due stringhe: una contenente il primo nome file trovato nella stringa, l'altra contenente la parte rimanente non analizzata della stringa pathname.
Sintassi
void FsRtlDissectDbcs(
[in] ANSI_STRING Path,
[out] PANSI_STRING FirstName,
[out] PANSI_STRING RemainingName
);
Parametri
[in] Path
Stringa pathname da analizzare.
[out] FirstName
Puntatore al primo nome file nella stringa pathname.
[out] RemainingName
Puntatore alla parte rimanente non analizzata della stringa pathname.
Valore restituito
Nessuno
Osservazioni
Nella stringa di input le barre rovesciata vengono lette come separatori dei nomi. Si presuppone che il nome nella stringa sia costituito da tutti i caratteri dall'inizio della stringa al carattere che precede la prima barra rovesciata, inclusiva. Esiste una sola eccezione a questa regola: se il primo carattere nella stringa di input è una barra rovesciata, questo carattere viene ignorato e non viene visualizzato nella stringa di output. La parte rimanente della stringa è costituita da tutti i caratteri che seguono la barra rovesciata che segue il nome trovato nella stringa.
FsRtlDissectDbcs non verifica la presenza di caratteri non validi nella stringa di input.
La tabella seguente illustra i valori di input e output di esempio per FsRtlDissectDbcs:
Sentiero | FirstName | RemainingName |
---|---|---|
vuoto | vuoto | vuoto |
Un | Un | vuoto |
A\B\C\D\E | Un | B\C\D\E |
*Un? | *Un? | vuoto |
\Un | Un | vuoto |
A[,] | A[,] | vuoto |
A\\B+;\C | Un | \B+;\C |
Si noti che al momento della restituzione, i membri buffer di
.
.
.
/*
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);
.
.
.
Per informazioni su altre routine di gestione delle stringhe, vedere Routine RTL (Run-Time Library).
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 |
piattaforma di destinazione | Universale |
intestazione |
ntifs.h (include FltKernel.h, Ntifs.h) |
libreria |
NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |