Freigeben über


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
S_OK
Die Zeichenfolge bei psz war nicht NULL-, und die Länge der Zeichenfolge (einschließlich des endierenden Nullzeichens) ist kleiner oder gleich cchMax Zeichen.
STRSAFE_E_INVALID_PARAMETER
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

Siehe auch

StringCbLength-