Freigeben über


InternetCrackUrlA-Funktion (wininet.h)

Knackt eine URL in ihre Komponententeile.

Syntax

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

Parameter

[in] lpszUrl

Zeiger 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 einen der folgenden Werte annehmen.

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 sollen.
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 sollen.

[in, out] lpUrlComponents

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

Rückgabewert

Gibt TRUE zurück, wenn die Funktion erfolgreich ist, oder andernfalls FALSE . Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die erforderlichen Komponenten werden durch Member der URL_COMPONENTS-Struktur angegeben. Jede Komponente verfügt über einen Zeiger auf den Wert und einen Member, der die Länge des gespeicherten Werts speichert. Wenn sowohl der Wert als auch die Länge für eine Komponente gleich 0 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 der Längenmember die Größe des Puffers enthalten. InternetCrackUrl kopiert die Komponente in den Puffer, und der Längenmember wird auf die Länge der kopierten Komponente festgelegt, minus 1 für den nachgestellten Zeichenfolgenabschluss.

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

Hinweis Verwenden Sie InternetCrackUrl nicht für "file://"-URLs, die Leerzeichen enthalten, da der wert, der im dwUrlPathLength-Element der URL_COMPONENTS Struktur zurückgegeben wird, auf die von lpUrlComponents verwiesen wird, zu groß ist. Dies ist jedoch nur bei urLs von "file://" der Fall, die Leerzeichen enthalten.

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

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

Hinweis

Der wininet.h-Header definiert InternetCrackUrl 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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wininet.h
Bibliothek Wininet.lib
DLL Wininet.dll

Weitere Informationen

FtpOpenFile

Behandeln von Uniform Resource Locators

InternetCloseHandle

InternetFindNextFile

InternetSetStatusCallback

WinINet-Funktionen