UrlUnescapeA 関数 (shlwapi.h)

エスケープ シーケンスを通常の文字に変換します。

構文

LWSTDAPI UrlUnescapeA(
  [in, out]           PSTR  pszUrl,
  [out, optional]     PSTR  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 バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 5.0 以降)