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 で終わる文字列へのポインター。 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 バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 5.0 以降) |