RtlUnicodeStringCchCatStringN-Funktion (ntstrsafe.h)
Die RtlUnicodeStringCchCatStringN-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 RtlUnicodeStringCchCatStringN(
[in, out] PUNICODE_STRING DestinationString,
[in] NTSTRSAFE_PCWSTR pszSrc,
[in] size_t cchToAppend
);
Parameter
[in, out] DestinationString
Ein Zeiger auf eine UNICODE_STRING-Struktur . Diese Struktur enthält einen Puffer, der bei der Eingabe eine Zeichenfolge 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 beendenden NULL) wird am Ende der Zielzeichenfolge hinzugefügt. Die maximale Anzahl von Zeichen im Zeichenfolgenpuffer der Struktur ist NTSTRSAFE_UNICODE_STRING_MAX_CCH.
[in] pszSrc
Ein vom Aufrufer bereitgestellter Zeiger auf eine NULL-beendete Zeichenfolge. Diese Zeichenfolge wird mit dem Ende der Zeichenfolge verkettet, die in der UNICODE_STRING Struktur des DestinationString-Parameters enthalten ist.
[in] cchToAppend
Die maximale Anzahl von Zeichen, die an die Zeichenfolge angefügt werden sollen, die der DestinationString-Parameter beschreibt.
Rückgabewert
RtlUnicodeStringCchCatStringN gibt einen der folgenden NTSTATUS-Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Dieser Erfolg status bedeutet, dass Quelldaten vorhanden waren, die Zeichenfolgen ohne Abschneiden verkettet wurden und der resultierende Zielpuffer NULL-beendet ist. |
|
Diese Warnung status bedeutet, dass der verkettete Vorgang aufgrund des unzureichenden Pufferspeichers 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 erhalten hat. Weitere Informationen finden Sie in der folgenden Liste. |
RtlUnicodeStringCchCatStringN 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 0, aber eine Quellzeichenfolge mit ungleicher Länge ist vorhanden.
- Der Wert des cchToAppend-Parameters ist größer als NTSTRSAFE_UNICODE_STRING_MAX_CCH.
Hinweise
Die RtlUnicodeStringCchCatStringN-Funktion verwendet die Größe des Zielpuffers, um sicherzustellen, dass der Verkettungsvorgang nicht über das Ende des Puffers schreibt. Die Funktion beendet die resultierende Zeichenfolge nicht mit einem NULL-Zeichenwert (also mit null).
Wenn sich die Quell- und Zielzeichenfolgen überschneiden, ist das Verhalten der Funktion undefiniert.
Die Zeiger pszSrc und DestinationString dürfen nicht NULL sein. Wenn Sie NULL-Zeigerwerte verarbeiten müssen, verwenden Sie die RtlUnicodeStringCchCatStringNEx-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 |