RtlUnicodeStringCopy-Funktion (ntstrsafe.h)

Die RtlUnicodeStringCopy-Funktion kopiert eine Zeichenfolge aus einer UNICODE_STRING-Struktur in eine andere.

Syntax

NTSTRSAFEDDI RtlUnicodeStringCopy(
  [out] PUNICODE_STRING  DestinationString,
  [in]  PCUNICODE_STRING SourceString
);

Parameter

[out] DestinationString

Ein Zeiger auf eine UNICODE_STRING-Struktur . Die Quellzeichenfolge wird in die Zielzeichenfolge kopiert. Die maximale Anzahl von Bytes im Zeichenfolgenpuffer der Struktur ist NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).

[in] SourceString

Ein Zeiger auf eine UNICODE_STRING-Struktur . Diese Struktur enthält einen Puffer, der die Quellzeichenfolge enthält. Diese Zeichenfolge wird in die Zielzeichenfolge kopiert. Die maximale Anzahl von Bytes im Zeichenfolgenpuffer der Struktur ist NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).

Rückgabewert

RtlUnicodeStringCopy gibt einen der folgenden NTSTATUS-Werte zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Dieser Erfolg status bedeutet, dass Quelldaten vorhanden waren, die Zeichenfolge ohne Abschneiden kopiert wurde und der resultierende Zielpuffer NULL-beendet ist.
STATUS_BUFFER_OVERFLOW
Diese Warnung status bedeutet, dass der Kopiervorgang aufgrund des unzureichenden Pufferspeichers nicht abgeschlossen wurde. Der Zielpuffer enthält eine abgeschnittene Version der Quellzeichenfolge.
STATUS_INVALID_PARAMETER
Dieser Fehler status bedeutet, dass die Funktion einen ungültigen Eingabeparameter empfangen hat. Weitere Informationen finden Sie in der folgenden Liste.
 

RtlUnicodeStringCopy gibt den STATUS_INVALID_PARAMETER-Wert zurück, wenn einer der folgenden Aktionen auftritt:

  • Der Inhalt einer 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.
Informationen zum Testen von NTSTATUS-Werten finden Sie unter Verwenden von NTSTATUS-Werten.

Hinweise

Die RtlUnicodeStringCopy-Funktion verwendet die Größe des Zielpuffers, um sicherzustellen, dass der Kopiervorgang nicht über das Ende des Puffers schreibt. Wenn die Zeichenfolge am Ende des Zielpuffers abgeschnitten werden muss, beendet die Funktion 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 RtlUnicodeStringCopyEx-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

Weitere Informationen

RtlUnicodeStringCopyEx

UNICODE_STRING