Freigeben über


RtlUnicodeStringCbCatStringN-Funktion (ntstrsafe.h)

Die RtlUnicodeStringCbCatStringN--Funktion verkettet zwei Zeichenfolgen, wenn die Zielzeichenfolge in einer UNICODE_STRING-Struktur enthalten ist, während die Größe der angefügten Zeichenfolge begrenzt wird.

Syntax

NTSTRSAFEDDI RtlUnicodeStringCbCatStringN(
  [in, out] PUNICODE_STRING  DestinationString,
  [in]      NTSTRSAFE_PCWSTR pszSrc,
  [in]      size_t           cbToAppend
);

Parameter

[in, out] DestinationString

Ein Zeiger auf eine UNICODE_STRING Struktur. Diese Struktur enthält einen Puffer, der bei der Eingabe eine Zielzeichenfolge enthält, mit der die Quellzeichenfolge verkettet wird. Bei der Ausgabe ist dieser Puffer der Zielpuffer, der die gesamte resultierende Zeichenfolge enthält. Die Quellzeichenfolge (mit Ausnahme der endenden Null) wird am Ende der Zielzeichenfolge hinzugefügt. Die maximale Anzahl von Bytes im Zeichenfolgenpuffer der Struktur ist NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).

[in] pszSrc

Ein vom Aufrufer bereitgestellter Zeiger auf eine mit Null beendete Zeichenfolge. Diese Zeichenfolge wird am Ende der Zielzeichenfolge verkettet, die in der UNICODE_STRING Struktur enthalten ist, auf die DestinationString verweist.

[in] cbToAppend

Die maximale Anzahl von Bytes, die an die Zeichenfolge angefügt werden sollen, die vom DestinationString- Parameter beschrieben wird.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_SUCCESS
Dieser Erfolg Status bedeutet, dass Quelldaten vorhanden waren, die Zeichenfolgen ohne Abkürzung verkettet wurden und der resultierende Zielpuffer null-beendet ist.
STATUS_BUFFER_OVERFLOW
Diese Warnung Status bedeutet, dass der Verkettungsvorgang aufgrund unzureichender Pufferspeicher nicht abgeschlossen wurde. Der Zielpuffer enthält eine abgeschnittene, null-beendete Version des beabsichtigten Ergebnisses.
STATUS_INVALID_PARAMETER
Dieser Fehler Status bedeutet, dass die Funktion einen ungültigen Eingabeparameter empfangen hat. Weitere Informationen finden Sie in der folgenden Liste.
 

RtlUnicodeStringCbCatStringN- 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 Zeichenfolge mit nicht nuller Länge ist vorhanden.
  • Der Wert des cbToAppend Parameters ist größer als NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
Informationen zum Testen von NTSTATUS-Werten finden Sie unter Verwenden von NTSTATUS-Werten.

Bemerkungen

Die RtlUnicodeStringCbCatStringN--Funktion verwendet die Größe des Zielpuffers, um sicherzustellen, dass der Verkettungsvorgang nicht über das Ende des Puffers schreibt. Die Funktion nicht die resultierende Zeichenfolge mit einem Nullzeichenwert (d. v. 0) beenden.

Wenn sich die Quell- und Zielzeichenfolgen überschneiden, wird das Verhalten der Funktion nicht definiert.

Die pszSrc und DestinationString Zeiger können nicht NULL-werden. Wenn Sie NULL- Zeigerwerte behandeln müssen, verwenden Sie die funktion RtlUnicodeStringCbCatStringNEx.

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

Siehe auch

RtlUnicodeStringCbCatStringNEx-

RtlUnicodeStringCchCatStringN

UNICODE_STRING