Freigeben über


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)