次の方法で共有


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 ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして UrlUnescape を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shlwapi.h
ライブラリ Shlwapi.lib
DLL Shlwapi.dll (バージョン 5.0 以降)