Bagikan melalui


Fungsi UrlCombineA (shlwapi.h)

Saat disediakan dengan URL relatif dan basisnya, mengembalikan URL dalam bentuk kanonis.

Sintaks

LWSTDAPI UrlCombineA(
  [in]            PCSTR pszBase,
  [in]            PCSTR pszRelative,
  [out, optional] PSTR  pszCombined,
  [in, out]       DWORD *pcchCombined,
                  DWORD dwFlags
);

Parameter

[in] pszBase

Jenis: PCTSTR

Penunjuk ke string panjang maksimum yang dihentikan null INTERNET_MAX_URL_LENGTH yang berisi URL dasar.

[in] pszRelative

Jenis: PCTSTR

Penunjuk ke string panjang maksimum yang dihentikan null INTERNET_MAX_URL_LENGTH yang berisi URL relatif.

[out, optional] pszCombined

Jenis: PTSTR

Penunjuk ke buffer yang, ketika fungsi ini berhasil dikembalikan, menerima string yang dihentikan null yang berisi URL gabungan.

[in, out] pcchCombined

Jenis: DWORD*

Penunjuk ke nilai yang, pada entri, diatur ke jumlah karakter dalam buffer pszCombined . Ketika fungsi berhasil dikembalikan, nilai tergantung pada apakah fungsi berhasil atau mengembalikan E_POINTER. Untuk nilai pengembalian lainnya, nilai parameter ini tidak ada artinya.

dwFlags

Jenis: DWORD

Bendera yang menentukan bagaimana URL dikonversi ke bentuk kanonis. Bendera berikut dapat digabungkan.

URL_DONT_SIMPLIFY (0x08000000)

Perlakukan '/./' dan '/.. /' dalam string URL sebagai karakter harfiah, tidak sesingkat navigasi. Lihat Keterangan untuk diskusi lebih lanjut.

URL_ESCAPE_PERCENT (0x00001000)

Konversikan kemunculan '%' ke urutan escape-nya.

URL_ESCAPE_SPACES_ONLY (0x04000000)

Ganti hanya spasi dengan urutan escape. Bendera ini lebih diutamakan daripada URL_ESCAPE_UNSAFE, tetapi tidak berlaku untuk URL buram.

URL_ESCAPE_UNSAFE (0x20000000)

Ganti karakter yang tidak aman dengan urutan escape-nya. Karakter yang tidak aman adalah karakter yang dapat diubah selama transportasi melalui Internet, dan menyertakan karakter (<, , ", >#, {, }, |, , ^, ~, [, ], dan '). Bendera ini berlaku untuk semua URL, termasuk URL buram.

URL_NO_META

Didefinisikan sama dengan URL_DONT_SIMPLIFY.

URL_PLUGGABLE_PROTOCOL (0x40000000)

Gabungkan URL dengan protokol pluggable yang ditentukan klien, sesuai dengan spesifikasi W3C. Bendera ini tidak berlaku untuk protokol standar seperti ftp, http, gopher, dan sebagainya. Jika bendera ini diatur, UrlCombine tidak menyederhanakan URL, jadi tidak perlu mengatur URL_DONT_SIMPLIFY.

URL_UNESCAPE (0x10000000)

Batalkan pelarian urutan escape apa pun yang dimuat URL, dengan dua pengecualian. Urutan escape untuk '?' dan '#' tidak tidak lolos. Jika salah satu bendera URL_ESCAPE_XXX juga diatur, kedua URL pertama kali tidak lolos, lalu digabungkan, lalu lolos.

URL_ESCAPE_AS_UTF8 (0x00040000)

Windows 7 dan yang lebih baru. Persen-encode semua karakter non-ASCII sebagai setara UTF-8 mereka.

Nilai kembali

Jenis: HRESULT

Mengembalikan kode kesalahan COM standar, termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_OK
pszCombined menunjuk ke string yang berisi URL gabungan. Nilai pcchCombined diatur ke jumlah karakter dalam string, tidak menghitung karakter NULL yang mengakhiri.
E_POINTER
Buffer terlalu kecil. Nilai pcchCombined diatur ke jumlah minimum karakter yang harus dapat dimuat buffer, termasuk karakter NULL yang mengakhiri.

Keterangan

Item di antara garis miring diperlakukan sebagai pengidentifikasi hierarkis; item terakhir menentukan dokumen itu sendiri. Anda harus memasukkan garis miring (/) setelah nama dokumen untuk menambahkan lebih banyak item; jika tidak, UrlCombine menukar satu dokumen dengan dokumen lain. Contohnya:


hRetVal = UrlCombine(TEXT("http://xyz/test/abc"), 
                     TEXT("bar"), 
                     lpszCombined, 
                     &dwLength, 0);

Kode sebelumnya mengembalikan URL http://xyz/test/bar. Jika Anda ingin URL gabungan menjadi http://xyz/test/abc/bar, gunakan panggilan berikut ke UrlCombine.


hRetVal = UrlCombine(TEXT("http://xyz/test/abc/"), 
                     TEXT("bar"), 
                     lpszCombined, 
                     &dwLength, 0);

Jika string URL berisi '/.. /' atau '/./', UrlCombine biasanya memperlakukan karakter seolah-olah mereka menunjukkan navigasi dalam hierarki URL. Fungsi ini menyederhanakan URL sebelum menggabungkannya. Misalnya, "/hello/cruel/.. /world" disederhanakan ke "/hello/world". Jika bendera URL_DONT_SIMPLIFY diatur dalam dwFlags, fungsi tidak menyederhanakan URL. Dalam hal ini, "/hello/cruel/.. Dunia dibiarkan apa adanya.

Catatan

Header shlwapi.h mendefinisikan UrlCombine 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

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shlwapi.h
Pustaka Shlwapi.lib
DLL Shlwapi.dll (versi 5.0 atau yang lebih baru)

Lihat juga

Menangani Pencari Sumber Daya Seragam

UrlCanonicalize