Funzione RtlStringCchCopyA (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 RtlStringCchCopyA(
[out] NTSTRSAFE_PSTR pszDest,
[in] size_t cchDest,
[in] NTSTRSAFE_PCSTR 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 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 Utilizzo di valori NTSTATUS.
Codice restituito | Descrizione |
---|---|
|
Questo stato di esito positivo 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 stato di avviso indica che l'operazione di copia non è stata completata a causa di spazio del buffer insufficiente. Il buffer di destinazione contiene una versione con terminazione Null troncata del risultato previsto. |
|
Questo stato di errore 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:
|
Commenti
È consigliabile usare RtlStringCchCopyW e RtlStringCchCopyA anziché le funzioni seguenti:
- strcpy
- wcscpy
Le dimensioni, in caratteri, del buffer di destinazione vengono fornite a RtlStringCchCopyW e RtlStringCchCopyA per assicurarsi che non vengano scritte 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.
Dati di tipo stringa | Valore letterale stringa | Funzione |
---|---|---|
WCHAR | L"string" | RtlStringCchCopyW |
char | "stringa" | 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 i valori del puntatore di stringa NULL , 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.
Requisiti
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 | Se le stringhe modificate sono sempre residenti in memoria, in caso contrario PASSIVE_LEVEL |