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 で終わる文字列へのポインター。 dwFlagsURL_UNESCAPE_INPLACE に設定されている場合、変換された文字列はこのパラメーターを介して返されます。

[out, optional] pszUnescaped

種類: PTSTR

pszURL のエスケープされていないバージョンを含む null で終わる文字列を受け取るバッファーへのポインター。 dwFlagsURL_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 以降)