Fungsi UrlCombineW (shlwapi.h)
Saat disediakan dengan URL relatif dan basisnya, mengembalikan URL dalam bentuk kanonis.
Sintaksis
LWSTDAPI UrlCombineW(
[in] PCWSTR pszBase,
[in] PCWSTR pszRelative,
[out, optional] PWSTR pszCombined,
[in, out] DWORD *pcchCombined,
DWORD dwFlags
);
Parameter
[in] pszBase
Jenis: PCTSTR
Penunjuk ke string null-terminated dengan panjang maksimum 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 null-terminated yang berisi URL gabungan.
[in, out] pcchCombined
Jenis: DWORD*
Penunjuk ke nilai yang, pada entri, diatur ke jumlah karakter dalam pszCombined buffer. 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 sependek navigasi. Lihat Komentar 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 mungkin diubah selama transportasi di 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 yang dapat dicolokkan 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-tama tidak lolos, lalu digabungkan, lalu diloloskan.
URL_ESCAPE_AS_UTF8 (0x00040000)
Windows 7 dan yang lebih baru. Persen-encode semua karakter non-ASCII sebagai setara UTF-8 mereka.
Mengembalikan nilai
Jenis: HRESULT
Mengembalikan kode kesalahan COM standar, termasuk yang berikut ini.
Mengembalikan kode | Deskripsi |
---|---|
|
pszCombined menunjuk ke string yang berisi URL gabungan. Nilai |
|
Buffer terlalu kecil. Nilai |
Komentar
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. Misalnya:
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 http://xyz/test/abc/bar, gunakan panggilan berikut untuk 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.
Nota
Header shlwapi.h mendefinisikan UrlCombine 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 2000 Professional, Windows XP [hanya aplikasi desktop] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
shlwapi.h |
Pustaka |
Shlwapi.lib |
DLL |
Shlwapi.dll (versi 5.0 atau yang lebih baru) |
Lihat juga
Menangani Pencari Sumber Daya Seragam