Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Diese Funktion ist über Windows XP und Windows Server 2003 verfügbar. Sie kann in nachfolgenden Versionen von Windows geändert oder nicht verfügbar sein.]
Kopiert eine ANSI-Zeichenfolge.
Syntax
int SHAnsiToAnsi(
[in] PCSTR pszSrc,
[out] PSTR pszDst,
int cchBuf
);
Die Parameter
[in] pszSrc
Typ: LPCSTR
Ein Zeiger auf eine MIT NULL beendete ANSI-Zeichenfolge, die in Unicode konvertiert werden soll.
[out] pszDst
Typ: LPWSTR
Ein Zeiger auf einen Puffer, der bei erfolgreicher Rückgabe dieser Funktion die aus pszSrc kopierten Zeichen empfängt. Der Puffer muss groß genug sein, um die Anzahl von Zeichen zu enthalten, die durch den cchBuf-Parameter angegeben werden, einschließlich eines Raums für ein beendetes NULL-Zeichen.
cchBuf
Typ: int
Die Anzahl der Zeichen, die vom Puffer enthalten sein können, auf den pszDst verweist. Dieser Parameter muss größer als 0 sein.
Rückgabewert
Typ: int
Gibt die Anzahl der Zeichen zurück, die in pszDst geschrieben wurden, einschließlich des endenden Nullzeichens. Gibt 0 zurück, wenn dies nicht erfolgreich ist.
Bemerkungen
Sicherheitswarnung: Die Verwendung dieser Funktion kann die Sicherheit Ihrer Anwendung fälschlicherweise beeinträchtigen. Wenn z. B. der pszDst-Puffer nicht groß genug ist, um die Von cchBuf angegebene Anzahl von Zeichen zu enthalten, kann ein Pufferüberlauf auftreten. Pufferüberläufe können zu einem Denial-of-Service-Angriff auf eine Anwendung führen, wenn eine Zugriffsverletzung auftritt. Im schlimmsten Fall kann ein Pufferüberlauf es einem Angreifer ermöglichen, ausführbaren Code in Ihren Prozess einzufügen, insbesondere, wenn pszDst ein stapelbasierter Puffer ist. Beachten Sie, dass die Ausgabezeichenfolge im Hintergrund abgeschnitten wird, wenn der Puffer nicht groß genug ist. Dies kann zu Kanonisierung oder anderen Sicherheitsrisiken führen.
Wenn der pszDst-Puffer nicht groß genug ist, um die gesamte konvertierte Ausgabezeichenfolge zu enthalten, wird die Zeichenfolge abgeschnitten, um den Puffer anzupassen. Es gibt keine Möglichkeit zu erkennen, dass die Rückgabezeichenfolge abgeschnitten wurde. Die Zeichenfolge wird immer null-beendet, auch wenn sie abgeschnitten wurde. Diese Funktion sorgt dafür, dass die Lead- und Trailbytes eines DBCS-Zeichenpaars nicht abgeschnitten werden. In diesem Fall werden nur cchBuf-1 Zeichen zurückgegeben.
Wenn sich die pszSrc - und pszDst-Puffer überlappen, wird das Verhalten der Funktion nicht definiert.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 2000 Professional, Windows XP [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows 2000 Server, Windows Server 2003 [nur Desktop-Apps] |
| Zielplattform | Fenster |
| Header | shlwapi.h |
| Library | mincore_downlevel.lib |
| DLL | Shlwapi.dll (Version 5.0 oder höher) |
Siehe auch
StringCchLength