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.
Konvertiert eine URL-Zeichenfolge in kanonische Form.
Syntax
LWSTDAPI UrlCanonicalizeW(
[in] PCWSTR pszUrl,
[out] PWSTR pszCanonicalized,
[in, out] DWORD *pcchCanonicalized,
DWORD dwFlags
);
Parameter
[in] pszUrl
Typ: PCTSTR-
Ein Zeiger auf eine mit Null beendete Zeichenfolge mit maximaler Länge INTERNET_MAX_URL_LENGTH, die eine URL-Zeichenfolge enthält. Wenn die Zeichenfolge nicht auf eine Datei verweist, muss sie ein gültiges Schema wie "http://" enthalten.
[out] pszCanonicalized
Typ: PTSTR-
Ein Zeiger auf einen Puffer, der, wenn diese Funktion erfolgreich zurückgegeben wird, die konvertierte URL als null-beendete Zeichenfolge empfängt.
[in, out] pcchCanonicalized
Typ: DWORD*-
Ein Zeiger auf einen Wert, der beim Eintrag auf die Anzahl der Zeichen im pszCanonicalized Puffer festgelegt ist.
dwFlags
Typ: DWORD-
Die Flags, die angeben, wie die URL in kanonische Form konvertiert wird. Die folgenden Flags können kombiniert werden.
URL_UNESCAPE (0x10000000)
Heben Sie die Escape-Escape-Sequenzen auf, die die URLs enthalten, mit zwei Ausnahmen. Die Escapesequenzen für "?" und "#" sind nicht escaped. Wenn eines der URL_ESCAPE_XXX Flags ebenfalls festgelegt ist, werden die beiden URLs zuerst nicht escaped, dann kombiniert und dann escaped.
URL_ESCAPE_UNSAFE (0x20000000)
Ersetzen Sie unsichere Zeichen durch ihre Escapesequenzen. Unsichere Zeichen sind die Zeichen, die während des Transports im Internet geändert werden können, und enthalten die Zeichen (<, >, ", #, {, }, |, , ^, [, ], und ') . Dieses Flag gilt für alle URLs, einschließlich undurchsichtiger URLs.
URL_PLUGGABLE_PROTOCOL (0x40000000)
Kombinieren Sie URLs mit clientdefiniert austauschbaren Protokollen gemäß der W3C-Spezifikation. Dieses Flag gilt nicht für Standardprotokolle wie ftp, http, gopher usw. Wenn dieses Flag festgelegt ist, vereinfacht UrlCombine- keine URLs, sodass keine URL_DONT_SIMPLIFYfestgelegt werden müssen.
URL_ESCAPE_SPACES_ONLY (0x04000000)
Ersetzen Sie nur Leerzeichen durch Escapesequenzen. Dieses Flag hat Vorrang vor URL_ESCAPE_UNSAFE, gilt jedoch nicht für undurchsichtige URLs.
URL_DONT_SIMPLIFY (0x08000000)
Behandeln Sie "/./" und "/.. /" in einer URL-Zeichenfolge als Literalzeichen, nicht als Abkürzung für die Navigation. Weitere Erläuterungen finden Sie in den Anmerkungen.
URL_NO_META (0x08000000)
Definiert, der mit URL_DONT_SIMPLIFYidentisch ist.
URL_ESCAPE_PERCENT (0x00001000)
Wandeln Sie jedes Vorkommen von "%" in die Escapesequenz um.
URL_ESCAPE_AS_UTF8 (0x00040000)
Windows 7 und höher. Prozentcodierung aller Nicht-ASCII-Zeichen als UTF-8-Entsprechungen.
Rückgabewert
Typ: HRESULT-
Wenn diese Funktion erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.
Bemerkungen
Diese Funktion führt solche Aufgaben aus, z. B. das Ersetzen unsicherer Zeichen durch ihre Escapesequenzen und reduzierende Sequenzen wie ".....".
Enthält eine URL-Zeichenfolge "/.. /" oder "/./", UrlCanonicalize behandelt die Zeichen als Hinweis auf die Navigation in der URL-Hierarchie. Die Funktion vereinfacht die URLs, bevor sie kombiniert werden. Beispiel: "/hello/cruel/.. /world" wird auf "/hello/world" vereinfacht. Ausnahmen dieses Standardverhaltens treten in folgenden Fällen auf:
- Wenn das URL_DONT_SIMPLIFY Flag in dwFlagsfestgelegt ist, vereinfacht die Funktion keine URLs. In diesem Fall "/hello/grausam/.. /world" bleibt wie es ist.
- Wenn "/.. /" oder "/./" ist das erste Segment im Pfad (z. B. "http://domain/../path1/path2/file.htm"), UrlCanonicalize gibt den Pfad genau so aus, wie er eingegeben wurde.
Anmerkung
Der Header "shlwapi.h" definiert UrlCanonicalize als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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 2000 Professional, Windows XP [nur Desktop-Apps] |
| mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
| Zielplattform- | Fenster |
| Header- | shlwapi.h |
| Library | Shlwapi.lib |
| DLL- | Shlwapi.dll (Version 5.0 oder höher) |