UrlUnescapeW 函式 (shlwapi.h)
將逸出序列轉換成一般字元。
語法
LWSTDAPI UrlUnescapeW(
[in, out] PWSTR pszUrl,
[out, optional] PWSTR pszUnescaped,
[in, out, optional] DWORD *pcchUnescaped,
DWORD dwFlags
);
參數
[in, out] pszUrl
類型:PTSTR
具有 URL 之 Null 終止字串的指標。 如果 dwFlags 設定為 URL_UNESCAPE_INPLACE,則會透過此參數傳回轉換的字串。
[out, optional] pszUnescaped
類型:PTSTR
緩衝區的指標,將接收 null 終止的字串,其中包含 未逸出版本的 pszURL。 如果在 dwFlags中設定 URL_UNESCAPE_INPLACE ,則會忽略此參數。
[in, out, optional] pcchUnescaped
類型:DWORD*
pszUnescaped 所指向之緩衝區中的字元數。 在專案上,pcchUnescaped 指向的值會設定為緩衝區的大小。 如果函式傳回成功碼且未設定 URL_UNESCAPE_INPLACE 旗標,則 pcchUnescaped 指向的值會設定為寫入該緩衝區的字元數,而不會計算結束 NULL 字元。 如果傳回E_POINTER錯誤碼,緩衝區太小,而且 pcchUnescaped 點的值會設定為緩衝區必須能夠包含的必要字元數。 如果傳回任何其他錯誤,則未定義 pcchUnescaped 點的值。
dwFlags
類型:DWORD
旗標,可控制哪些字元未逸出。 它可以是下列旗標的組合。
URL_DONT_UNESCAPE_EXTRA_INFO
不要轉換 # 或 ? 字元,或字串中跟隨這些字元的任何字元。
URL_UNESCAPE_AS_UTF8
Windows 8中引進的
URL_UNESCAPE_INPLACE
使用 pszURL 傳回已轉換的字串,而不是 pszUnescaped。
傳回值
類型:HRESULT
如果成功,則傳回S_OK。 如果未設定 URL_UNESCAPE_INPLACE 旗標,pcchUnescaped 所指向的值 將會設定為 pszUnescaped所指向輸出緩衝區中的字元數。 如果未設定 URL_UNESCAPE_INPLACE 旗標,且輸出緩衝區太小,則傳回E_POINTER。 pcchUnescaped 參數將會設定為所需的緩衝區大小。 否則,會傳回標準錯誤值。
言論
逸出序列的格式為 「%xy」。。
輸入字串不能超過INTERNET_MAX_URL_LENGTH。
注意
shlwapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 UrlUnescape 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shlwapi.h |
連結庫 | Shlwapi.lib |
DLL | Shlwapi.dll 版 (5.0 版或更新版本) |