Freigeben über


InternetCrackUrlA-Funktion (wininet.h)

Bricht eine URL in seine Komponententeile auf.

Syntax

BOOL InternetCrackUrlA(
  [in]      LPCSTR            lpszUrl,
  [in]      DWORD             dwUrlLength,
  [in]      DWORD             dwFlags,
  [in, out] LPURL_COMPONENTSA lpUrlComponents
);

Parameter

[in] lpszUrl

Zeigen Sie auf eine Zeichenfolge, die die kanonische URL enthält, die geknackt werden soll.

[in] dwUrlLength

Größe der lpszUrl- Zeichenfolge in TCHARs-oder Null, wenn lpszUrl- eine ASCIIZ-Zeichenfolge ist.

[in] dwFlags

Steuert den Vorgang. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
ICU_DECODE
Konvertiert codierte Zeichen wieder in die normale Form. Dies kann nur verwendet werden, wenn der Benutzer Puffer in der URL_COMPONENTS Struktur bereitstellt, in die die Komponenten kopiert werden.
ICU_ESCAPE
Konvertiert alle Escapesequenzen (%xx) in die entsprechenden Zeichen. Dies kann nur verwendet werden, wenn der Benutzer Puffer in der URL_COMPONENTS Struktur bereitstellt, in die die Komponenten kopiert werden.

[in, out] lpUrlComponents

Zeigen Sie auf eine URL_COMPONENTS Struktur, die die URL-Komponenten empfängt.

Rückgabewert

Gibt TRUE zurück, wenn die Funktion erfolgreich ist, oder FALSE andernfalls. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Die erforderlichen Komponenten werden durch Elemente der URL_COMPONENTS Struktur angegeben. Jede Komponente weist einen Zeiger auf den Wert auf und verfügt über ein Element, das die Länge des gespeicherten Werts speichert. Wenn sowohl der Wert als auch die Länge einer Komponente gleich Null sind, wird diese Komponente nicht zurückgegeben. Windows Vista und höher.: Wenn der Zeiger auf den Wert der Komponente NULL- ist und der Wert des entsprechenden Längenelements ungleich Null ist, wird die Adresse des ersten Zeichens der entsprechenden Komponente in der lpszUrl Zeichenfolge im Zeiger gespeichert, und die Länge der Komponente wird im Längenelement gespeichert.

Wenn der Zeiger die Adresse des vom Benutzer bereitgestellten Puffers enthält, muss das Längenelement die Größe des Puffers enthalten. InternetCrackUrl kopiert die Komponente in den Puffer, und das Längenelement wird auf die Länge der kopierten Komponente festgelegt, minus 1 für den nachfolgenden Zeichenfolgenendpunkt.

Damit InternetCrackUr l ordnungsgemäß funktioniert, muss die Größe der URL_COMPONENTS-Struktur in Bytes im dwStructSize Member gespeichert werden.

Hinweis Verwenden Sie InternetCrackUrl- nicht für URLs mit Leerzeichen, da der im dwUrlPathLength Member der URL_COMPONENTS Struktur zurückgegebene Wert von file:// lpUrlComponents zu groß ist. Dies ist jedoch nur bei "file://"-URLs der Fall, die Leerzeichen enthalten.

Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte sicher aufgerufen werden.

Hinweis WinINet keine Serverimplementierungen unterstützt. Darüber hinaus sollte sie nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder -dienste Microsoft Windows HTTP Services (WinHTTP).
 

Anmerkung

Der wininet.h-Header definiert InternetCrackUrl 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 [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- wininet.h
Library Wininet.lib
DLL- Wininet.dll

Siehe auch

FtpOpenFile-

Behandeln von Uniform Resource Locators

InternetCloseHandle-

InternetFindNextFile-

InternetSetStatusCallback-

WinINet-Funktionen