ParseURLW-Funktion (shlwapi.h)

Führt eine rudimentäre Analyse einer URL durch.

Syntax

LWSTDAPI ParseURLW(
  [in]      LPCWSTR    pcszURL,
  [in, out] PARSEDURLW *ppu
);

Parameter

[in] pcszURL

Typ: LPCTSTR

Ein Zeiger auf eine NULL-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 das cbSize-Element der Struktur auf die Größe der Struktur festlegen, bevor ParseURL aufgerufen wird.

Rückgabewert

Typ: HRESULT

Gibt bei Erfolg S_OK oder andernfalls einen COM-Fehlercode zurück. Die Funktion gibt URL_E_INVALID_SYNTAX zurück (definiert in Intshcut.h), wenn die Zeichenfolge nicht als URL analysiert werden konnte.

Hinweise

Die von ParseURL durchgeführte Analyse ist ziemlich rudimentär. Für eine komplexere URL-Analyse verwenden Sie InternetCrackUrl.

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;
}   

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 shlwapi.h-Header definiert ParseURL 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 nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlwapi.h
DLL Shlwapi.dll (Version 6.0.1 oder höher)