RtlStringCchCopyW-Funktion (ntstrsafe.h)
Die funktionen RtlStringCchCopyW und RtlStringCchCopyA funktionen kopieren eine null-beendete Quellzeichenfolge in einen Zielpuffer der angegebenen Länge.
Syntax
NTSTRSAFEDDI RtlStringCchCopyW(
[out] NTSTRSAFE_PWSTR pszDest,
[in] size_t cchDest,
[in] NTSTRSAFE_PCWSTR pszSrc
);
Parameter
[out] pszDest
Ein Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der die kopierte Zeichenfolge empfängt. Die Zeichenfolge bei pszSrc wird bei pszDest- in den Puffer kopiert und mit einem Nullzeichen beendet.
[in] cchDest
Die Größe des Zielpuffers in Zeichen. Die maximale Anzahl zulässiger Zeichen ist NTSTRSAFE_MAX_CCH.
[in] pszSrc
Ein Zeiger auf eine vom Aufrufer bereitgestellte, null-beendete Zeichenfolge.
Rückgabewert
Die Funktion gibt einen der NTSTATUS-Werte zurück, die in der folgenden Tabelle aufgeführt sind. Informationen zum Testen von NTSTATUS-Werten finden Sie unter Verwenden von NTSTATUS-Werten.
Rückgabecode | Beschreibung |
---|---|
|
Dieser Erfolg Status bedeutet, dass Quelldaten vorhanden waren, die Zeichenfolge ohne Abkürzung kopiert wurde und der resultierende Zielpuffer null beendet ist. |
|
Diese Warnung Status bedeutet, dass der Kopiervorgang aufgrund unzureichender Pufferspeicher nicht abgeschlossen wurde. Der Zielpuffer enthält eine abgeschnittene, null-beendete Version des beabsichtigten Ergebnisses. |
|
Dieser Fehler Status bedeutet, dass die Funktion einen ungültigen Eingabeparameter empfangen hat. Weitere Informationen finden Sie im folgenden Absatz.
Die Funktion gibt den STATUS_INVALID_PARAMETER Wert zurück, wenn:
|
Bemerkungen
RtlStringCchCopyW und RtlStringCchCopyA- sollten anstelle der folgenden Funktionen verwendet werden:
- strcpy-
- wcscpy-
Die Größe des Zielpuffers wird in Zeichen für RtlStringCchCopyW und RtlStringCchCopyA- bereitgestellt, um sicherzustellen, dass sie nicht über das Ende des Puffers schreiben.
Verwenden Sie RtlStringCchCopyW- zum Behandeln von Unicode-Zeichenfolgen und RtlStringCchCopyA- zum Behandeln von ANSI-Zeichenfolgen. Das von Ihnen verwendete Formular hängt von Ihren Daten ab, wie in der folgenden Tabelle dargestellt.
Zeichenfolgendatentyp | Zeichenfolgenliteral | Funktion |
---|---|---|
WCHAR | L"string" | RtlStringCchCopyW |
Zeichen- | "string" | RtlStringCchCopyA |
Wenn pszSrc und pszDest auf überlappende Zeichenfolgen zeigen, ist das Verhalten der Funktion nicht definiert.
Weder pszSrc noch pszDest kann NULLsein. Wenn Sie NULL- Zeichenfolgenzeigerwerte behandeln müssen, verwenden Sie RtlStringCchCopyEx.
Weitere Informationen zu den sicheren Zeichenfolgenfunktionen finden Sie unter Verwenden von Funktionen für sichere Zeichenfolgen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows XP mit Service Pack 1 (SP1) und höheren Versionen von Windows. |
Zielplattform- | Desktop |
Header- | ntstrsafe.h (include Ntstrsafe.h) |
Library | Ntstrsafe.lib |
IRQL- | Wenn Zeichenfolgen, die bearbeitet werden, immer im Arbeitsspeicher vorhanden sind, andernfalls PASSIVE_LEVEL |