StringCchLengthA-Funktion (strsafe.h)
Bestimmt, ob eine Zeichenfolge die angegebene Länge in Zeichen überschreitet.
StringCchLength ist ein Ersatz für die folgenden Funktionen:
Syntax
STRSAFEAPI StringCchLengthA(
[in] STRSAFE_PCNZCH psz,
[in] size_t cchMax,
[out] size_t *pcchLength
);
Parameter
[in] psz
Typ: LPCTSTR-
Die Zeichenfolge, deren Länge überprüft werden soll.
[in] cchMax
Typ: size_t
Die maximale Anzahl von Zeichen, die in pszzulässig sind, einschließlich des endenden NULL-Zeichens. Dieser Wert darf STRSAFE_MAX_CCHnicht überschreiten.
[out] pcchLength
Typ: size_t*
Die Anzahl der Zeichen in psz, nicht einschließlich des endenden NULL-Zeichens. Dieser Wert ist nur gültig, wenn pcch- nicht NULL- ist und die Funktion erfolgreich ausgeführt wird.
Rückgabewert
Typ: HRESULT-
Diese Funktion kann einen der folgenden Werte zurückgeben. Es wird dringend empfohlen, die SUCCEEDED und FAILED Makros zum Testen des Rückgabewerts dieser Funktion zu verwenden.
Rückgabecode | Beschreibung |
---|---|
|
Die Zeichenfolge bei psz war nicht NULL-, und die Länge der Zeichenfolge (einschließlich des endierenden Nullzeichens) ist kleiner oder gleich cchMax Zeichen. |
|
Der Wert in psz ist NULL, cchMax größer als STRSAFE_MAX_CCHist oder psz länger als cchMaxist. |
Beachten Sie, dass diese Funktion einen HRESULT- Wert zurückgibt, im Gegensatz zu den funktionen, die sie ersetzt.
Bemerkungen
Im Vergleich zu den ersetzten Funktionen ist StringCchLength- ein zusätzliches Tool für die ordnungsgemäße Pufferbehandlung in Ihrem Code. Eine schlechte Pufferbehandlung ist in vielen Sicherheitsproblemen mit Pufferüberläufen verbunden.
StringCchLength- kann in der generischen Form oder in spezifischeren Formen verwendet werden. Der Datentyp der Zeichenfolge bestimmt die Form dieser Funktion, die Sie verwenden sollten.
String-Datentyp | Zeichenfolgenliteral | Funktion |
---|---|---|
Zeichen- | "string" | StringCchLengthA- |
TCHAR- | TEXT("Zeichenfolge") | StringCchLength- |
WCHAR- | L"string" | StringCchLengthW- |
UnalignedStringCchLength ist ein Alias für diese Funktion.
Anmerkung
Der strsafe.h-Header definiert StringCchLength als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP mit SP2 [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2003 mit SP1 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | strsafe.h |