UrlFixupW 関数 (shlwapi.h)
[UrlFixupW は、[要件] セクションで指定されたオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]
プロトコル識別子が正しくない URL の修正を試みます。 たとえば、 htttp
は に http
変更されます。
構文
LWSTDAPI UrlFixupW(
[in] PCWSTR pcszUrl,
[out] PWSTR pszTranslatedUrl,
DWORD cchMax
);
パラメーター
[in] pcszUrl
種類: PCWSTR
修正する URL を含む null で終わる文字列へのポインター。 この文字列は、終端の NULL 文字を含め、長さがINTERNET_MAX_PATH_LENGTH文字を超えてはなりません。
[out] pszTranslatedUrl
種類: PWSTR
この関数が正常に返されると、コピーした文字を受け取るバッファーへのポインター。 バッファーは、 cchMax パラメーターで指定された WCHAR 文字の数 (終端の NULL 文字を含む) を格納するのに十分な大きさである必要があります。 このパラメーターは pcszUrl パラメーターと同じにして、URL を修正できます。 pszTranslatedUrl が pcszUrl と等しくない場合、pszTranslatedUrl によって指されるバッファーは、pcszUrl が指すバッファーと重複してはなりません。
cchMax
型: DWORD
pszTranslatedUrl が指すバッファーに含めることができる WCHAR 文字の数。 このパラメーターには、0 より大きい値を指定する必要があります。
戻り値
種類: HRESULT
提案された URL が既に受け入れ可能であったか、正常に修正された場合は、S_OKを返します。 pszTranslatedUrl バッファーには、修正された URL、または修正が必要ない場合は元の URL が含まれます。 提案された URL を修正するのに十分に認識できなかった場合は、S_FALSEを返します。 それ以外の場合は、標準の COM エラー コードを返します。
注釈
UrlFixup 関数は、 URL_SCHEME 列挙で指定されたスキームを認識します。
優先順位はプロトコル識別子セクションの最初の文字に与えられるのhtp
で、 ではなく ftp
にhttp
変換されます。
例
この例では、 UrlFixupW の使用方法を示します。 最後の 4 つの自動修正は、おそらくユーザーが意図したものではなく、関数で使用されるヒューリスティックの制限事項を示していることに注意してください。
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include <tchar.h>
void sample(LPCWSTR pszUrl)
{
WCHAR szBuf[256];
HRESULT hr = UrlFixupW(pszUrl, szBuf, 256);
if (hr == S_OK)
{
wprintf(L"%-35s %s\n", pszUrl, szBuf);
}
else
{
wprintf(L"%-35s failed\n", pszUrl);
}
}
int __cdecl main()
{
sample(L"http://www.microsoft.com");
sample(L"mail:someone@example.com");
sample(L"abc:def");
sample(L"someone@example.com");
sample(L"htpp:wwwmicrosoft.com");
sample(L"htps:\\\\www.microsoft.com");
sample(L"http:someone@example.com");
return 0;
}
..................................
This example might produce the following output:
http://www.microsoft.com http://www.microsoft.com
http:www.microsoft.com http://www.microsoft.com
mail:someone@example.com mailto:someone@example.com
abc:def failed
someone@example.com failed
htpp:wwwmicrosoft.com http://wwwmicrosoft.com
htps:\\www.microsoft.com http://www.microsoft.com
http:someone@example.com http://someone@example.com
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
[DLL] | Shlwapi.dll (バージョン 5.0 以降) |