ParseURLA-Funktion (shlwapi.h)
Führt eine rudimentäre Analyse einer URL aus.
Syntax
LWSTDAPI ParseURLA(
[in] LPCSTR pcszURL,
[in, out] PARSEDURLA *ppu
);
Parameter
[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.
Rückgabewert
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.
Bemerkungen
Die analyse, die von ParseURL durchgeführt wird, ist ziemlich rudimentär. Verwenden Sie InternetCrackUrl, um anspruchsvollere URL-Analyse zu ermöglichen.
Beispiele
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;
}
OUTPUT:
---------
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
Anmerkung
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.
Anforderungen
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) |