Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die RtlUnicodeStringCchCopyN-Funktion kopiert eine Zeichenfolge aus einer UNICODE_STRING-Struktur in eine andere, während die Größe der kopierten Zeichenfolge begrenzt wird.
Syntax
NTSTRSAFEDDI RtlUnicodeStringCchCopyN(
[out] PUNICODE_STRING DestinationString,
[in] PCUNICODE_STRING SourceString,
[in] size_t cchToCopy
);
Parameter
[out] DestinationString
Ein Zeiger auf eine UNICODE_STRING-Struktur , die die kopierte Zeichenfolge empfängt. Die Zeichenfolge, auf die die UNICODE_STRING Struktur des SourceString-Parameters verweist, wird in den Puffer kopiert, auf den die UNICODE_STRING Struktur des DestinationString-Parameters verweist. Die maximale Anzahl von Zeichen im Zeichenfolgenpuffer der Struktur ist NTSTRSAFE_UNICODE_STRING_MAX_CCH.
[in] SourceString
Ein Zeiger auf eine UNICODE_STRING Struktur, die die zu kopierende Zeichenfolge enthält. Die maximale Anzahl von Zeichen im Zeichenfolgenpuffer der Struktur ist NTSTRSAFE_UNICODE_STRING_MAX_CCH.
[in] cchToCopy
Die Anzahl der Zeichen, die aus der Quelle in das Ziel kopiert werden sollen.
Rückgabewert
RtlUnicodeStringCchCopyN gibt einen der folgenden NTSTATUS-Werte zurück.
| Rückgabecode | Beschreibung |
|---|---|
|
Dieser Erfolg status bedeutet, dass Quelldaten vorhanden waren, die Zeichenfolge ohne Abschneiden kopiert wurde und der resultierende Zielpuffer NULL-beendet ist. |
|
Diese Warnung status bedeutet, dass der Kopiervorgang aufgrund des unzureichenden Pufferspeichers nicht abgeschlossen wurde. Der Zielpuffer enthält eine abgeschnittene, mit NULL beendete Version des beabsichtigten Ergebnisses. |
|
Dieser Fehler status bedeutet, dass die Funktion einen ungültigen Eingabeparameter empfangen hat. Weitere Informationen finden Sie in der folgenden Liste. |
RtlUnicodeStringCchCopyN gibt den STATUS_INVALID_PARAMETER Wert zurück, wenn einer der folgenden Aktionen auftritt:
- Der Inhalt der UNICODE_STRING-Struktur ist ungültig.
- Der Zielpuffer ist bereits voll.
- Ein Pufferzeiger ist NULL.
- Die Länge des Zielpuffers ist null, aber eine Quellzeichenfolge ungleich null ist vorhanden.
- Der Wert des cchToCopy-Parameters ist größer als NTSTRSAFE_UNICODE_STRING_MAX_CCH.
Hinweise
Die RtlUnicodeStringCchCopyN-Funktion verwendet die Größe des Zielpuffers, um sicherzustellen, dass der Kopiervorgang nicht über das Ende des Puffers schreibt. Die Funktion beendet die resultierende Zeichenfolge nicht mit einem NULL-Zeichen.
Wenn sich die Quell- und Zielzeichenfolgen überschneiden, ist das Verhalten der Funktion nicht definiert.
Die Zeiger SourceString und DestinationString dürfen nicht NULL sein. Wenn Sie NULL-Zeigerwerte verarbeiten müssen, verwenden Sie die RtlUnicodeStringCchCopyNEx-Funktion.
Weitere Informationen zu den sicheren Zeichenfolgenfunktionen finden Sie unter Verwenden sicherer Zeichenfolgenfunktionen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Verfügbar in Windows XP mit Service Pack 1 (SP1) und höheren Versionen von Windows. |
| Zielplattform | Desktop |
| Kopfzeile | ntstrsafe.h (einschließen von Ntstrsafe.h) |
| Bibliothek | Ntstrsafe.lib |
| IRQL | Alle, wenn Zeichenfolgen, die bearbeitet werden, immer im Arbeitsspeicher gespeichert sind, andernfalls PASSIVE_LEVEL |