Bagikan melalui


Fungsi ParseURLW (shlwapi.h)

Melakukan penguraian URL yang belum mendasar.

Sintaks

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

Parameter

[in] pcszURL

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null yang berisi URL yang akan diurai.

[in, out] ppu

Jenis: PARSEDURL*

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

Nilai kembali

Jenis: HRESULT

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

Keterangan

Penguraian yang dilakukan oleh ParseURL terbilang belum jelas. 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;
}   

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

Catatan

Header shlwapi.h mendefinisikan ParseURL sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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

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