ParseURLW-Funktion (shlwapi.h)
Führt eine rudimentäre Analyse einer URL aus.
LWSTDAPI ParseURLW(
[in] LPCWSTR pcszURL,
[in, out] PARSEDURLW *ppu
);
[in] pcszURL
Typ: LPCTSTR-
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die die zu analysierende URL enthält.
[in, out] ppu
Typ: PARSEDURL-*
Ein Zeiger auf eine PARSEDURL- Struktur, die die analysierten Ergebnisse empfängt. Die aufrufende Anwendung muss die cbSize Member der Struktur auf die Größe der Struktur festlegen, bevor ParseURL-aufgerufen wird.
Typ: HRESULT-
Gibt S_OK bei Erfolg oder andernfalls einen COM-Fehlercode zurück. Die Funktion gibt URL_E_INVALID_SYNTAX (definiert in Intshcut.h) zurück, wenn die Zeichenfolge nicht als URL analysiert werden konnte.
Die analyse, die von ParseURL durchgeführt wird, ist ziemlich rudimentär. Verwenden Sie InternetCrackUrl, um anspruchsvollere URL-Analyse zu ermöglichen.
Diese Beispielkonsolenanwendung verwendet ParseURL-, um mehrere einfache URLs zu analysieren.
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include <tchar.h>
void sample(LPCTSTR pcszUrl)
{
PARSEDURL pu;
pu.cbSize = sizeof(pu);
HRESULT hr = ParseURL(pcszUrl, &pu);
_tprintf(TEXT("ParseURL(%s) returned 0x%08x\n"), pcszUrl, hr);
if (SUCCEEDED(hr)) {
_tprintf(TEXT("Protocol = %.*s\n"), pu.cchProtocol, pu.pszProtocol);
_tprintf(TEXT("Suffix = %.*s\n"), pu.cchSuffix, pu.pszSuffix);
_tprintf(TEXT("Scheme = %d\n"), pu.nScheme);
_tprintf(TEXT("\n"));
}
}
int __cdecl main()
{
sample(TEXT("http://msdn.microsoft.com/vstudio/"));
sample(TEXT("mailto:someone@example.com"));
sample(TEXT("file://C:\\AUTOEXEC.BAT"));
sample(TEXT("C:\\AUTOEXEC.BAT"));
return 0;
}
Ausgabe:
ParseURL(http://msdn.microsoft.com/vstudio/) returned 0x00000000
Protocol = http
Suffix = //msdn.microsoft.com/vstudio/
Scheme = 2
ParseURL(mailto:someone@example.com) returned 0x00000000
Protocol = mailto
Suffix = someone@example.com
Scheme = 4
ParseURL(file://C:\AUTOEXEC.BAT) returned 0x00000000
Protocol = file
Suffix = C:\AUTOEXEC.BAT
Scheme = 9
ParseURL(C:\AUTOEXEC.BAT) returned 0x80041001
Hinweis
Der Header "shlwapi.h" definiert ParseURL 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.
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | shlwapi.h |
DLL- | Shlwapi.dll (Version 6.0.1 oder höher) |