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
pszURL のエスケープされていないバージョンを含む null で終わる文字列を受け取るバッファーへのポインター。 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_ESCAPE_AS_UTF8 フラグを使用してエンコードされた URL をデコードします。
URL_UNESCAPE_INPLACE
pszUnescaped の代わりに変換された文字列を返すには、pszURL を使用します。
戻り値
種類: HRESULT
成功した場合は、S_OKを返します。 URL_UNESCAPE_INPLACE フラグが設定されていない場合、pcchUnescaped が指す値は、pszUnescaped が指す出力バッファー内の文字数に設定されます。 URL_UNESCAPE_INPLACE フラグが設定されておらず、出力バッファーが小さすぎる場合は、 E_POINTER を返します。 pcchUnescaped パラメーターは、必要なバッファー サイズに設定されます。 それ以外の場合は、標準エラー値を返します。
解説
エスケープ シーケンスの形式は "%xy" です。
入力文字列をINTERNET_MAX_URL_LENGTHより長くすることはできません。
注意
shlwapi.h ヘッダーは、URLUnescape をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 5.0 以降) |