RtlUnicodeStringVPrintf-Funktion (ntstrsafe.h)
Die RtlUnicodeStringVPrintf-Funktion erstellt eine Textzeichenfolge mit einer Formatierung, die auf den angegebenen Formatierungsinformationen basiert, und speichert die Zeichenfolge in einer UNICODE_STRING-Struktur .
Syntax
NTSTRSAFEDDI RtlUnicodeStringVPrintf(
[out] PUNICODE_STRING DestinationString,
[in] NTSTRSAFE_PCWSTR pszFormat,
[in] va_list argList
);
Parameter
[out] DestinationString
Ein Zeiger auf eine UNICODE_STRING-Struktur , die eine formatierte Zeichenfolge empfängt. RtlUnicodeStringVPrintf erstellt diese Zeichenfolge aus der Formatierungszeichenfolge, die pszFormat angibt, und der Argumentliste der Funktion. Die maximale Anzahl von Zeichen in der Zeichenfolge ist NTSTRSAFE_UNICODE_STRING_MAX_CCH.
[in] pszFormat
Ein Zeiger auf eine mit NULL endende Textzeichenfolge, die Formatierungsdirektiven im Printf-Stil enthält.
[in] argList
Eine va_list typisierte Argumentliste. Argumente in dieser Argumentliste werden mithilfe der formatierungszeichenfolge interpretiert, die pszFormat angibt.
Rückgabewert
RtlUnicodeStringVPrintf gibt einen der folgenden NTSTATUS-Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Dieser Erfolg status bedeutet, dass Quelldaten vorhanden waren, die Zeichenfolge ohne Abschneiden kopiert und der resultierende Zielpuffer NULL-beendet ist. |
|
Diese Warnung status bedeutet, dass der Kopiervorgang aufgrund 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 im folgenden Absatz. |
RtlUnicodeStringVPrintf gibt den STATUS_INVALID_PARAMETER Wert zurück, wenn einer der folgenden Aktionen auftritt:
- Der Inhalt der UNICODE_STRING Struktur, auf die DestinationString verweist, ist ungültig.
- Der Zielpuffer ist bereits voll.
- Ein NULL-Zeiger ist vorhanden.
- Die Länge des Zielpuffers ist null, aber eine Quellzeichenfolge ungleich null ist vorhanden.
Hinweise
Die RtlUnicodeStringVPrintf-Funktion verwendet die Größe des Zielpuffers, um sicherzustellen, dass der Zeichenfolgenformatierungsvorgang nicht über das Ende des Puffers schreibt. Die Funktion beendet die resultierende Zeichenfolge nicht mit einem NULL-Zeichen.
Wenn sich die Formatzeichenfolge und die Zielzeichenfolge überlappen, ist das Verhalten der Funktion nicht definiert.
Die Zeiger pszFormat und DestinationString dürfen nicht NULL sein. Wenn Sie NULL-Zeigerwerte verarbeiten müssen, verwenden Sie die RtlUnicodeStringVPrintfEx-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 | PASSIVE_LEVEL |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für