<Return[UV]><Top>

UrlEscape

Declare Function Api_UrlEscape& Lib "shlwapi" Alias "UrlEscapeA" (ByVal pszURL$, ByVal pszEscaped$, pcchEscaped&, ByVal dwFlags&)

Declare Function UrlEscape Lib "Shlwapi" Alias "UrlEscapeA" (ByVal pszURL As String, ByVal pszEscaped As String, ByRef pcchEscaped As Long, ByVal dwFlags As Long) As Long

%ASCIIに変換可能な安全ではない文字をエスケープシーケンスに変換する。

パラメータ

pszURL
    [入力]dwFlagsに値に応じて、完全または部分的なURLが含まれている最大長INTERNET_MAX_URL_LENGTHのNULLで終わる文

    字列。
pszEscaped
    [出力] エスケープシーケンスに変換され、安全でない文字と変換後の文字列を受け取るバッファ。
pcchEscaped
    [入出力] pszEscapedバッファ内の文字数を含むDWORD値へのポインタ。UrlEscapeを呼び出す前に、呼び出し元のアプリケーション

    は、バッファのサイズにpcchEscapedによって参照される値を設定する必要がある。終了時に、その値がない終端のNULL文字を含むバッ

    ファに書き込まれた文字数に設定されている。 E_POINTERエラーコードが返された場合、バッファは結果を保持するには小さすぎる、と

    pcchEscapedによって参照される値は、バッファ内の文字の必要数に設定されている。他のエラーが返された場合、pcchEscapedによって

    参照される値は未定義である。
dwFlags
    [入力] その文字列内の文字pszURLで提供されているURLのどの部分を示すフラグは、そのエスケープシーケンスに変換する必要がある。

    次のフラグが定義されています。
    URL_DONT_ESCAPE_EXTRA_INFO
        クエリ(文字列に遭遇した#最初または?文字の後に続くURLの部分)に文字の変換を防ぐためにURL_ESCAPE_SPACES_ONLYとの

        組み合わせでのみ使用される。このフラグは単独で用いてもよく、またURL_ESCAPE_SEGMENT_ONLYと組み合わせるべきではな

        い。
    URL_BROWSER_MODE
        URL_DONT_ESCAPE_EXTRA_INFOと同じになるように定義されている。
    URL_ESCAPE_SPACES_ONLY
        URLのクエリ部分にそれらのスペース文字を含む彼らのエスケープシーケンスに空白文字のみを変換する。他の危険な文字はエスケープ

        シーケンスに変換されない。このフラグpszURLは、完全なURLが含まれていないことを前提としている。これは、サーバーの仕様が、

        次の部分のみを想定している。URLのクエリ部分に空白文字の変換を防ぐためにURL_DONT_ESCAPE_EXTRA_INFOこのフラグを

        兼ね備えている。このフラグは、URL_ESCAPE_PERCENTまたはURL_ESCAPE_SEGMENT_ONLYと組み合わせることはできな

        い。
    URL_ESCAPE_PERCENT
        URLのセグメント·セクションにあるすべての%文字(そのサーバーの仕様と#最初または?文字の間に下りセクションでは、)に変換する。

        デフォルトでは、%文字は、そのエスケープシーケンスに変換されません。セグメント内の他の危険な文字も正常に変換される。

        URL_ESCAPE_SEGMENT_ONLYでこのフラグを組み合わせることで、URLのクエリ部分にそれらの%文字が含まれている。しかし、

        URL_ESCAPE_SEGMENT_ONLYフラグは文字列全体がセグメントと見なされるようになりように、#のいずれか、または?文字も変

        換される。このフラグはURL_ESCAPE_SPACES_ONLYと組み合わせることはできない。
    URL_ESCAPE_SEGMENT_ONLY
        サーバー·コンポーネントは、次が、クエリの前にあるURLのみ、そのセクションが含まれていpszURLを示している。文字列内のすべての

        危険な文字は変換される。このフラグが設定されている場合、完全なURLが指定されている場合は、全体の文字列内のすべての安全

        でない文字は、#を含む、?文字。変換の際にその文字を含めることがURL_ESCAPE_PERCENTこのフラグを兼ね備えている。この

        フラグは、URL_ESCAPE_SPACES_ONLYまたはURL_DONT_ESCAPE_EXTRA_INFOと組み合わせることはできない。

戻り値   

    成功した場合はS_OKを返す。pcchEscapedバッファが結果を格納するには小さすぎた場合は、E_POINTERが返される。