Funzione RtlStringCchCopyW (ntstrsafe.h)
Le funzioni RtlStringCchCopyW e RtlStringCchCopyA copiano una stringa di origine con terminazione Null in un buffer di destinazione di lunghezza specificata.
Sintassi
NTSTRSAFEDDI RtlStringCchCopyW(
[out] NTSTRSAFE_PWSTR pszDest,
[in] size_t cchDest,
[in] NTSTRSAFE_PCWSTR pszSrc
);
Parametri
[out] pszDest
Puntatore a un buffer fornito dal chiamante che riceve la stringa copiata. La stringa in pszSrc viene copiata nel buffer in corrispondenza pszDest e terminata con un carattere Null.
[in] cchDest
Dimensione, in caratteri, del buffer di destinazione. Il numero massimo di caratteri consentiti è NTSTRSAFE_MAX_CCH.
[in] pszSrc
Puntatore a una stringa con terminazione Null fornita dal chiamante.
Valore restituito
La funzione restituisce uno dei valori NTSTATUS elencati nella tabella seguente. Per informazioni su come testare i valori NTSTATUS, vedere Uso di valori NTSTATUS.
Codice restituito | Descrizione |
---|---|
|
Questo esito positivo stato indica che i dati di origine erano presenti, la stringa è stata copiata senza troncamento e il buffer di destinazione risultante viene terminato con null. |
|
Questo avviso stato indica che l'operazione di copia non è stata completata a causa di spazio buffer insufficiente. Il buffer di destinazione contiene una versione troncata con terminazione Null del risultato previsto. |
|
Questo errore stato indica che la funzione ha ricevuto un parametro di input non valido. Per altre informazioni, vedere il paragrafo seguente.
La funzione restituisce il valore STATUS_INVALID_PARAMETER quando:
|
Osservazioni
RtlStringCchCopyW e RtlStringCchCopyA anziché le funzioni seguenti:
- strcpy
- wcscpy
Le dimensioni, in caratteri, del buffer di destinazione vengono fornite per RtlStringCchCopyW e RtlStringCchCopyA per assicurarsi che non vengano scritti oltre la fine del buffer.
Usare RtlStringCchCopyW per gestire stringhe Unicode e RtlStringCchCopyA per gestire le stringhe ANSI. Il modulo usato dipende dai dati, come illustrato nella tabella seguente.
Tipo di dati String | Valore letterale stringa | Funzione |
---|---|---|
WCHAR | L"string" | RtlStringCchCopyW |
char | "string" | RtlStringCchCopyA |
Se pszSrc e pszDest puntano a stringhe sovrapposte, il comportamento della funzione non è definito.
Né pszSrc né pszDest possono essere NULL. Se è necessario gestire valori null puntatore stringa, usare RtlStringCchCopyEx.
Per altre informazioni sulle funzioni di stringa sicura, vedere Using Safe String Functions.For more information about the safe string functions, see Using Safe String Functions.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows XP con Service Pack 1 (SP1) e versioni successive di Windows. |
piattaforma di destinazione | Desktop |
intestazione | ntstrsafe.h (include Ntstrsafe.h) |
libreria | Ntstrsafe.lib |
IRQL | Qualsiasi se le stringhe modificate sono sempre residenti in memoria, altrimenti PASSIVE_LEVEL |