Bagikan melalui


Fungsi ParseURLW (shlwapi.h)

Melakukan penguraian URL yang belum diurai.

Sintaksis

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

Parameter

[in] pcszURL

Jenis: LPCTSTR

Penunjuk ke string null-terminated yang berisi URL yang akan diurai.

[in, out] ppu

Jenis: PARSEDURL

Pointer ke struktur PARSEDURL yang menerima hasil yang diurai. Aplikasi panggilan harus mengatur anggota cbSize struktur ke ukuran struktur sebelum memanggil ParseURL.

Mengembalikan nilai

Jenis: HRESULT

Mengembalikan S_OK pada keberhasilan, atau kode kesalahan COM sebaliknya. Fungsi mengembalikan URL_E_INVALID_SYNTAX (didefinisikan dalam Intshcut.h) jika string tidak dapat diurai sebagai URL.

Komentar

Penguraian yang dilakukan oleh ParseURL cukup rudimenter. Untuk penguraian URL yang lebih canggih, gunakan InternetCrackUrl.

Contoh

Aplikasi konsol sampel ini menggunakan ParseURL untuk mengurai beberapa URL sederhana.

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

Hasil:

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

Nota

Header shlwapi.h mendefinisikan ParseURL sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header shlwapi.h
DLL Shlwapi.dll (versi 6.0.1 atau yang lebih baru)